함수 포인터로서의 함수 이름: 설계 이론적 근거
C에서 함수 이름을 함수 포인터로 사용하는 것은 주소를 적용하는 것과 같습니다. 함수 이름에 연산자를 추가합니다. 이 동작은 언어의 다른 부분과 일치하지 않는 것처럼 보일 수 있으며 설계 근거에 대한 의문을 제기합니다.
ANSI C90 Rationale 문서는 이 설계 결정에 대한 통찰력을 제공합니다.
(&f)(); // Explicit address-of operator f(); // Implicit conversion to function pointer (*f)(); // Deference of a function pointer (**f)(); // Deference twice (***f)(); // Deference three times
반환 컨텍스트에서 함수 유형에서 포인터 유형으로의 암시적 변환이 없는 것에 대한 설명은 " 반환 유형 장식." C에서 함수 반환 유형은 함수 서명의 일부이며 수정할 수 없습니다. 따라서 함수는 암시적으로 자신에 대한 포인터를 반환할 수 없습니다.
위 내용은 C에서 함수 이름이 함수 포인터로 사용되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!