-
PointerPrograming/Tips 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
'Programing > Tips' 카테고리의 다른 글
virtual function (다형성) (0) 2012.07.05 Add linenumber on visual c++ 6.0 (0) 2012.07.03 Google code university (0) 2012.05.28 libCurl (0) 2012.05.06 reference site for python (0) 2011.12.12