기초
포인터, 배열
알쿠미
2015. 12. 19. 01:11
배열 초기화 방법
1 2 | int imsi[3] = {0};// 1차원 배열 초기화 int imsi[2][3] = {{1,2,3}, {이부분은 0으로 초기화}}; //2차원 배열 초기화 | cs |
1 2 3 4 5 6 7 | int imsi[3] = { 5, 3, 7}; int *imsip; imsip = imsi; 1. 배열명은 주소를 뜻한다. 2. 배열명은 배열의 첫번째 배열요소의 주소를 뜻한다. | cs |
따라서 imsi == &imsi[0] imsip는 imsi[0]를 가리키고 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | int imsi[3] = { 5, 3, 7}; int *imsip; imsip = imsi; int a = *(imsi + 1); int b = *(imsip + 1); cout<<a<<endl; cout<<b<<endl; | cs |
배열을 가리키는 포인터에 +1을 하면 다음 값을 가리킨다.
다음의 출력 값은 3이 2번 출력된다.
imsip++ 은 되지만 imsi++은 되지 않는다.(imsi는 변경할 수 없기 때문)
배열명에는 주소를 할당할 수 없다. 배열명은 포인터 변수가 아니라 배열명 자체일 뿐이다.