문제
다음 C 프로그램의 실행 결과는?
C#include <stdio.h> int main() { int arr[3] = {1, 2, 3}; int *p = arr; printf("%d", *(p + 1)); return 0; }
① 1 ② 2 ③ 3 ④ 주소값
정답
2번
해설
포인터 p는 배열 arr의 첫 번째 요소를 가리킨다. *(p + 1)은 p에서 1칸 이동한 위치의 값을 의미하므로, arr[1]인 2가 출력된다. 포인터 산술연산의 기본 개념이다.