문제
a[0]의 주소값이 10일 경우 다음 C언어 프로그램이 실행되었을 때의 결과는? (단, int 형의 크기는 4Byte로 가정한다.)
① 14, 10 ② 14, 14 ③ 18, 10 ④ 18, 14
정답
3번
해설
정답: 3. a[0]의 주소가 10이고 int는 4바이트이므로 &a[2] = 10 + 2×4 = 18이고, 배열명 a는 첫 요소 a[0]의 주소이므로 10이다. 따라서 18, 10이 출력된다.
오답 풀이
- 1번: &a[2]는 14가 아니라 18이다(시작 주소 10 + 8).
- 2번: 두 번째 출력 a는 14가 아니라 a[0]의 주소인 10이다.
- 3번: &a[2]=18, a=10이므로 정답이다.
- 4번: a는 14가 아니라 10이다.
보충 개념 배열 요소의 주소는 시작 주소 + 인덱스 × 자료형 크기로 계산되며, 배열명 a는 첫 요소의 주소(&a[0])를 의미한다.