문제
다음 C 코드의 실행 결과를 쓰시오.
C#include <stdio.h> typedef struct { int code; int value; } Record; int main() { Record data[4] = {{10, 25}, {20, 35}, {30, 15}, {40, 45}}; Record *ptr = &data[1]; int sum = 0; for (int k = 0; k < 3; k++) { sum += ptr[k].value; } printf("%d", sum); return 0; }
정답
95
95
해설
포인터 ptr은 data[1]을 가리킨다. ptr[0]은 data[1] (value=35), ptr[1]은 data[2] (value=15), ptr[2]는 data[3] (value=45)를 의미한다. 따라서 sum = 35 + 15 + 45 = 95이다.