더북(TheBook)

미션 32: 배열을 포인터로 접근하기 ➊

길이가 5인 int형 배열 a를 선언하고 1, 2, 3, 4, 5로 초기화하세요. 그리고 이 배열의 첫 번째 요소를 가리키는 포인터 변수 b를 선언하세요. 그런 다음 포인터 변수 b에 저장된 값을 증가시키는 형태의 연산을 기반으로, 배열 요소에 접근하면서 모든 배열 요소의 값을 2씩 증가시키고 출력해 보세요.

pointer2_8.c

#include <stdio.h>
 
main() {
    int a[5] = { 1, 2, 3, 4, 5 };
    int *b;
 
    b = a;
    int i;
    printf("포인터 연산 전\n");
 
    for (i = 0; i < 5; i++) {
        printf("%d ", a[i]);
    }
    printf("\n");
 
    for (i = 0; i < 5; i++) {
        *b += 2; // 포인터 역참조하여 배열의 각 요소 별 값에 2 더하기
        b++;     // 포인터 연산
    }
    printf("포인터 연산 후\n");
 
    for (i = 0; i < 5; i++) {
        printf("%d ", a[i]);
    }
    printf("\n");
}

실행 결과

포인터 연산 전

1 2 3 4 5

포인터 연산 후

3 4 5 6 7

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.