문제
다음 C 프로그램의 실행 결과는?
#include <stdio.h> int main() { char str[] = "Hello"; char *ptr = str; printf("%c ", *(ptr + 1)); printf("%c", ptr[3]); return 0; }
① H l ② e l ③ e o ④ H o
정답
2번
해설
*(ptr + 1)은 포인터 ptr에서 1만큼 이동한 위치의 문자로 'e'이다. ptr[3]은 배열 표기법으로 인덱스 3의 문자인 'l'이다. 포인터 산술연산과 배열 인덱싱은 동일한 결과를 제공한다.