-
포인터 정리(4)@ 16. 1 ~ 17. 1/C++ 2013. 1. 31. 23:12
int *np
int형 포인터 변수로 4byte이며 int형 주소를 저장한다.
int **npp;
2차원 포인터 변수로 4byte이고 1차원 포인터 변수의 주소를 저장한다.
int arr[3];
int형 배열로 int형 메모리 3개를 갖는 12byte 메모리이다.
int arr[2][3];
int형 2차원 배열로 int형 6개를 갖는 24byte 메모리이다.
int *arr[3];
int형 주소를 3개까지 저장하는 배열로 각 배열요소(arr[0]...)가 int형 주소를 저장한다. 총 12byte 이다.
int(*arr)[3];
포인터 변수로 4byte이며 2차원 배열과 같은 열의 개수가 3개인 int형 배열의 시작주소를 저장하기 위해 사용하여 4byte이다.
예)
int arr[2][3];
int(*app)[3] = arr;
int(*arr)[2][3];
3차원 배열의 주소를 저장하기 위한 포인터 변수로 행(2)과 열(3)인 int형 3차원 배열의 시작주소를 저장하고 4byte이다.
예)
int arr[2][2][3];
int (*app)[2][3] = arr;
int (*arr[2])[3];
2차원 배열의 주소를 저장하는 배열이고..
포인터 배열로 8byte이며 변수를 배열로 2개 선언한것..열의 개수가 3개인 int형 2차원 배열의 시작주소 등을 저장한다.
예)
int arr1[2][3];
int arr2[3][3];
int (*arr[2])[3];
arr[0] = arr1;
arr[1] = arr2;
int *(*arr)[3]
int*형 2차원 배열의 주소를 저장하는 포인터
포인터 변수로 4byte이다
예)
int *arr1[2][3]; //int형 주소를 저장하는 열의 개수가 3개인 배열
int *arr2[3][3];
int *(*arr)[3];
arr = arr1;
arr= arr2;
int *func();
이것은 변수나 배열 포인터가 아니라 int 주소를 반환하고 매개변수는 없는 함수..
int(*func)();
이것은 포인터 변수로 4byte이고 함수의 주소(반환형이 int형이며 함수의 인자가 없는 함수의 주소)를 저장한다.
int(*func[2])()
함수 포인터가 2개..func[0] func[1] 배열로 8bye이다.
'@ 16. 1 ~ 17. 1 > C++' 카테고리의 다른 글
참조와 포인터(1) (0) 2013.02.13 분할컴파일시..extern, static (0) 2013.02.12 void 형 포인터 및 함수 포인터(3) (0) 2013.01.31 포인터와 문자열(2) (0) 2013.01.31 배열(1) (0) 2013.01.29