-
C++ 배열과 포인터Visual Studio/C++ 기초 2013. 11. 21. 15:55
배열을 사용하기 위해서는 배열명, 배열 크기, 배열 요소를 지정해야 합니다. 배열명은 해당 배열의 시작 주소이고, C++에선 배열명을 사용해서 배열의 시작 위치를 설정합니다.
int x[5] = {1, 2, 3, 4, 5}, *ptr;
ptr = x;
포인터 변수 ptr에게 배열 x를 대입하였습니다. x는 배열명이기 때문에 해당 배열의 시작 주소 값입니다. 이를 쉽게 설명하면
x[0]의 시작 주소를 포인터 변수 ptr이 가지고 있기 때문에 ptr을 사용해서 배열 x를 처리할 수 있습니다. 구체적으로 표현하면 아래와 같습니다.
ptr == &x[0] *ptr == x[0]
ptr+1 == &x[1] *(ptr+1) == x[1]
ptr+2 == &x[2] *(ptr+2) == x[2]
ptr+3 == &x[3] *(ptr+3) == x[3]
ptr+4 == &x[4] *(ptr+4) == x[4]x[i]와 (ptr+i)는 동일하단 것을 알 수 있습니다. 간단한 예제를 보겠습니다.
#include <iostream>
using namespace std;void main(){
int arr[5] = {1, 2, 3, 4, 5}, *ptr, i;ptr = arr;
for(i=0; i<5; i++)
cout << arr[i] << ", " << *(ptr+i) << "\n";for(i=0; i<5; i++)
cout << &arr[i] << ", " << ptr+i << "\n";
}
'Visual Studio > C++ 기초' 카테고리의 다른 글
C++ int argc, char *argv[] (1) 2013.12.05 C++ 포인터 연산 (0) 2013.11.25 C++ 다차원 배열 (0) 2013.11.07 C++ 1차원 배열 (2) 2013.11.07 C++ 포인터 (0) 2013.11.05