포인터의 배열배열의 포인터??


int (*a)[3]과 int *a[3] 이 두개의 차이점은 괄호가 있는지와 없는지이다. 


하지만 이 괄호의 유무가 바로 포인터의 배열과 배열의 포인터를 가르는 기준이다.


C언어에서는 "[ ]"의 우선순위는 " * "의 우선순위보다 높다


때문에 *a[3]이라고 선언할 경우 배열은 배열이지만 값이 포인터 즉, 포인터의 배열 나타내는 것이고,


 (*a)[3] 포인터는 포인터이지만 열의 크기가 3인 2차원 배열을 가리키는 포인터(배열 포인터)이다.






위의 소스를 실행해보면 다음과 같은 결과를 얻을 수 있다.




+ Recent posts