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