포인터 변수에 배열을 값으로 넣으면 포인터 변수는 배열의 첫 번째 요소의 주소, 즉 배열의 시작 주소를 가리키게 됩니다. 그러면 포인터 변수는 시작 주소로 배열에 접근해 요소의 값을 하나씩 가져올 수 있습니다.
그림 7-6 포인터 변수와 배열의 관계
조금 더 나아가 포인터 변수에 직접 값을 넣어 보겠습니다. 그런 다음 배열과 포인터 변수의 값을 다시 출력해 보겠습니다.
7.3.1 포인터로배열접근하기.c
int main(void) {
int arr[3] = { 5, 10, 15 };
for (int i = 0; i < 3; i++) {
printf("배열 arr[%d]의 값 : %d\n", i, arr[i]);
}
int * ptr = arr;
for (int i = 0; i < 3; i++) {
printf("포인터 변수 ptr[%d]의 값 : %d\n", i, ptr[i]);
}
ptr[0] = 100;
ptr[1] = 200;
ptr[2] = 300;
for (int i = 0; i < 3; i++) {
printf("배열 arr[%d]의 값 : %d\n", i, arr[i]);
}
for (int i = 0; i < 3; i++) {
printf("포인터 변수 ptr[%d]의 값 : %d\n", i, ptr[i]);
}
return 0;
}