미션 28: 배열을 갖고 포인터 연산을 통해 접근하고 변경하기
배열 a를 생성하여 1, 2, 3, 4, 5로 저장하고 포인터 b를 통해 배열 a의 값을 11, 12, 13, 14, 15으로 변경한 후 다양한 방법으로 출력하는 코드를 작성하세요.
pointer12.c
#include <stdio.h> main() { int a[5] = { 1, 2, 3, 4, 5 }; int *b; int i; printf("기존 배열 a의 값 출력\n"); for (i = 0; i < 5; i++) printf("%d ", a[i]); printf("\n"); printf("\n배열 a의 각 요소에 10을 더하여 변경\n\n"); b = a; // b = &a[0];, 배열 a의 첫 번째 인덱스의 주소 값을 포인터 변수 b에 저장 for (i = 0; i < 5; i++) *(b + i) += 10; // 포인터 연산한 결과를 역참조하며 배열 a의 값 변경 printf("변경된 배열 a의 값 출력 - 첫 번째 방법 \n"); for (i = 0; i < 5; i++) printf("%d ", a[i]); printf("\n"); printf("변경된 배열 a의 값 출력- 두 번째 방법 \n"); for (i = 0; i < 5; i++) printf("%d ", *(b + i)); printf("\n"); printf("변경된 배열 a의 값 출력- 세 번째 방법 \n"); for (i = 0; i < 5; i++) printf("%d ", b[i]); // ➊ printf("\n"); }