C++ 배열과 포인터
배열을 사용하기 위해서는 배열명, 배열 크기, 배열 요소를 지정해야 합니다. 배열명은 해당 배열의 시작 주소이고, 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] |
x[i]와 (ptr+i)는 동일하단 것을 알 수 있습니다. 간단한 예제를 보겠습니다.
#include <iostream> void main(){ ptr = arr; for(i=0; i<5; i++) for(i=0; i<5; i++) |