Page 146 고등학교 프로그래밍 교과서
P. 146










2 포인터와 배열의 관계를 알아보자






배열과 포인터는 매우 밀접한 관계가 있는데 이유는 배열도 일종의 포인터이기 때
문이다. 배열명은 배열의 첫 번째 요소의 주소에 해당하는 값으로, 이를 포인터 상수
라고 한다. 따라서 배열 이름은 첫 번째 요소를 가리키는 포인터처럼 사용할 수 있

다. a+1은 포인터의 덧셈 연산이다. 따라서 a+1은 a[1]을 가리키며, (a+1)은 바로
a[1]의 내용과 같다.
















[그림Ⅱ- 10] 배열과 포인터

그러나 배열의 이름이 포인터이기는 하지만 배열의 이름에 다른 변수의 주소를 대

입할 수는 없다. 왜냐하면 배열의 이름은 포인터 상수로 그 값이 변경될 수는 없다.


프로그램

01 #include
02 int main(void)
03 {
04 int a[ ] = { 1, 2, 3, 4 }; 포인터 a가 가리키고 있는 변숫값
05 printf("*a = %u \n", *a);
06 printf("*(a+1) = %u \n", *(a+1));
07 printf("*(a+2) = %u \n", *(a+2));
08 return 0;
09 }


실행 결과


*a = 1
*(a+1) = 2
*(a+2) = 3






144 Ⅱ. C 프로그래밍의 기초





(책)2015프로그래밍-교과서3차심의본 본문.indb 144 2017-09-05 오후 4:16:32
   141   142   143   144   145   146   147   148   149   150   151