Pointer
*
: Pointer
Array
[]
: Array
연산자 우선 순위
C언어 코딩도장 25.0 연산자 우선순위 알아보기[]
-> *
순으로 우선 순위가 높으므로 (여기서 ()
는 우선 처리의 의미)int *arr[4]
: 배열int (*arr)[4]
: 포인터
라고 정리 할 수 있다.
Pointer Variable
모든 Pointer 변수는 크기가 4 Byte이다 = 주소값은 항상 4 Byte 크기
예시
char *p
: Pointer to charint *p
: Pointer to intint (*p)[4]
: Pointer to Array(4 int)int *p[4]
: Array of Pointer(4 int*)
복잡한 예시
| name | type | target |
int *p | p | int * | int |
int (*p)[4] | p | int (*)[4] | int[4] |
int *(*p)[4] | p | int *(*)[4] | int *[4] |
int (*p[2])[4] | p[0], p[1] | int (*)[4] | int[4] |
Pointer Reference(참조)
int *p
일때변수 p
: Pointer p변수 *p
: Pointer p가 참조하는(지시하는) 대상