더북(TheBook)

포인터 변수에 배열을 값으로 넣으면 포인터 변수는 배열의 첫 번째 요소의 주소, 즉 배열의 시작 주소를 가리키게 됩니다. 그러면 포인터 변수는 시작 주소로 배열에 접근해 요소의 값을 하나씩 가져올 수 있습니다.

그림 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;
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.