Programing/Tips
Pointer
mjune.kim
2012. 7. 3. 14:12
포인터에 대해 알아보자
1. 배열이란 ?
동일한 자료형의 모음
2. 배열명은 변수가 아니다 : 시작주소
3. 포인터란 ?
변수(메모리 주소를 저장)
자료형에 상관없이 4 byte.
ex)
int *p = a;
a[0] = 10 *(a+0) p[0], *(p+0)
a[1] = 20 *(a+1) p[1], *(p+1)
a[2] = 30 *(a+2) p[2], *(p+2)
a = a+1 (X) : 변수명은 바꿀수 없다.
p = p+1 (O) : 포인터는 바꿀수 있다.
int a[3][4] = {10, .... };
a[0] - 100 번지
a[1] - 116 번지
a[2] - 132 번지
int *p = a;
a+1 = 116;
p+1 = 104 (because p 의 할당은 (int * : 4byte ))
그러므로
int (*p)[4] = a;
p : array pointer.
cf )
int (*p) [4] vs int * p[4] - pointer array
p[0] |
p[1] |
p[2] |
p[3] |
100 104 108 112