C에서 (유형)값과 유형(값)의 미묘함을 밝히다
C 프로그래밍 영역에서 (유형)값과 유형(값)은 종종 개발자를 당황하게 합니다. 이 주제를 자세히 알아보고 그 뉘앙스를 살펴보겠습니다.
C 표준(§5.2.3)에 따르면 단일 항목을 다룰 때 유형(값)과 (유형)값 사이에 근본적인 구분이 없습니다. 표현. 두 표현식 모두 주어진 표현식 목록에 지정된 유형의 값을 생성합니다.
쉼표로 구분된 값 목록을 처리할 때 불일치가 발생합니다. 이 경우 type(value)는 지정된 유형의 임시 변수를 생성하고 해당 값을 반환하는 반면 (type)value는 단순히 값을 대상 유형으로 변환합니다.
특정 유형 이름은 그렇지 않을 수도 있다는 점에 유의할 가치가 있습니다. 유형(값)을 사용할 때 컴파일합니다. 예를 들어, char (string)은 컴파일 오류를 일으키지만 char_ptr(string)은 char .
에 대한 typedef로 정의된 경우 char_ptr(string)이 작동합니다. 요약하자면, (type)value 및 type (값)은 단일 표현식을 처리할 때 차이가 없으며 여러 값으로 작업할 때 발산됩니다. 후자는 변환을 용이하게 하기 위해 임시 변수를 생성합니다.
위 내용은 C에서 `(type)value`와 `type(value)`의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!