포인터 선선문 해석의 우선순위
1) int형과 같은 자료형 부분
2) '*'의 포인터 선언(~을 가리키는)
3) [] 배열
4) ()함수(~을 리턴하는)
5) 포인터 선언을 둘러싸는 ():~을 가리키는 포인터
포인터 선언문 해석
1) int *p;
int형을 가리키는 포인터 p
2) int *p[];
int형을 가리키는 포인터의 배열p (포인터의 선언보다 배열 선언이 우선순위가 낮다)
3) int (*p)[];
포인터 선언을 둘러싸는 괄호가 최하위 순위다.
즉, int형 배열을 가리키는 포인터 p
4) int *p()[];
int 형의 포인터 배열을 리턴하는 함수p (함수 선언이 우선순위가 낮다)
5) int *p();
int형의 포인터를 리턴하는 함수
6) int (*p)();
int 형을 리턴하는 함수의 포인터p
7) int (*p[])();
int형을 리턴하는 함수를 가리키는 포인터의 배열p
포인터 선언을 둘러싼 ()를 맨 마지막으로 해석하면 int형을 리턴하는 함수를 가리키는 무어이 되며 괄호 안을 보 면 포인터 선언과 배열 선언이 같이 있지만 포인터 선언이 배열선언보다 우선 순위가 앞서므로 ~을 가리키는 포 인터의 배열이 된다.