-
배열(1)@ 16. 1 ~ 17. 1/C++ 2013. 1. 29. 23:24
배열의 이름은 연속적인 배열 메모리의 시작주소를 나타낸다.
즉..
char arr[5] = {0,};
여기서 arr과 &arr[0]은 같다 이거지..
즉..arr가 1차원 char주소로 사용된다는 것인데..
그러므로 *arr은 arr[0]을 나타낸다..
*arr == arr[0]
*(arr+1) == arr[1]
다차원 배열
arr1[6]
arr2[2][2]
시작주소는
첫번째 배열요소는 arr1[0] arr2[0][0] 차이가 있긴있다.
arr2 2차원 배열의 대표주소, arr2[0] 0행의 대표주소 arr2[1]은 1행의 대표주소를 의미..
arr2 == *arr2 == arr2[0]
**arr2 == arr[0][0]
arr2+1 == *(arr2+1) == arr2[1]
**(arr2+1) == arr2[1][0]
arr2[0][0] == **arr2
arr2[0][1] == *(*arr+1)
arr2[1][0] == **(arr2+1)
arr2[1][1] == *(*(arr2+1)+1)
sizeof(arr2) = 16
sizeof(arr2[0]) = 8
'@ 16. 1 ~ 17. 1 > C++' 카테고리의 다른 글
void 형 포인터 및 함수 포인터(3) (0) 2013.01.31 포인터와 문자열(2) (0) 2013.01.31 포인터(1) (0) 2013.01.29 Template (3) 클래스 템플릿 특수화 (0) 2013.01.29 Template (2) 클래스 템플릿 (0) 2013.01.29