비슷한 질문을 많이 본 후에는
int (*f)(int (*a)[5])
C의 의미는 무엇입니까 ?
사람들이 C 구문을 이해하는 데 도움이 되는 프로그램 을 만들었을 때조차도 도움이 될 수는 없지만 궁금합니다.
C의 구문이 이런 식으로 설계된 이유는 무엇입니까?
예를 들어, 포인터를 디자인하는 경우 "10 요소 배열의 포인터에 대한 포인터"를 다음과 같이 변환합니다.
int*[10]* p;
그리고 아닙니다
int* (*p)[10];
대부분의 사람들이 동의 할 것이라고 생각합니다.
왜 직관적이지 않은 구문인지 궁금합니다. 내가 알지 못하는 구문으로 해결할 특정 문제가 있었습니까 (모호한가?)?
cdecl
명령은 복잡한 C 선언을 디코딩하는 데 매우 유용합니다. cdecl.org 에는 웹 인터페이스도 있습니다 .