[정보처리기사 기출 해설] 66번 – C 언어 배열 초기화와 값 추론
📌 출처: 2020년 정보처리기사 필기 1회차
📖 과목: 프로그래밍 언어 활용
❓ 기출문제 원문
66. C 언어에서 배열 b[5]의 값은?
① 0
② 1
③ 2
④ 3
✅ 정답: ① 0
📘 개념 설명: C 언어 배열의 초기화 방식
C 언어에서 배열을 선언하면서 일부만 초기화하는 경우, 초기화되지 않은 나머지 요소는 자동으로 0으로 설정됩니다.
이 문제에서처럼 static 키워드를 사용한 배열 선언은 해당 배열이 **정적 저장 영역(static storage class)**에 할당되며, 초기화되지 않은 값은 모두 0으로 자동 초기화됩니다.
예를 들어 static int b[9] = {1, 2, 3};는 b[0] = 1, b[1] = 2, b[2] = 3으로 초기화되고, b[3]부터 b[8]까지는 자동으로 0이 됩니다.
🔍 정답 해설
문제는 배열 b[5]의 값을 묻고 있습니다. b[5]는 6번째 요소이며 초기화 목록에는 포함되지 않았기 때문에 자동으로 0이 되고, 정답은 ①번 0입니다.
❌ 보기별 오답 해설
- ② 1: b[0]의 값입니다.
- ③ 2: b[1]의 값입니다.
- ④ 3: b[2]의 값입니다.
→ 모두 b[5]와는 관계 없는 값입니다.
🎯 핵심 요약
- static으로 선언된 배열은 정적 영역에 저장되며, 초기화되지 않은 요소는 자동으로 0으로 채워집니다.
- 부분 초기화 시 명시하지 않은 요소는 모두 0으로 처리됩니다.
- 이 문제에서는 b[5]가 초기화 목록에 포함되지 않았으므로 값은 0이며, 정답은 ①번입니다.
📎 참고자료
- 『시나공 정보처리기사 필기 기출문제집 (2020년 1회)』
- C 언어 배열 초기화와 저장 클래스(static) 개념
- 한국산업인력공단 정보처리기사 시험 문제지
'기출문제풀이 > 정보처리기사 2020년 1, 2회' 카테고리의 다른 글
68. IEEE 802.11 무선 LAN의 QoS 강화를 위해 MAC 계층에서 지원 기능을 채택한 것은? (0) | 2025.05.31 |
---|---|
67. 은행가 알고리즘(Banker's Algorithm)은 교착상태의 해결 방법 중 어떤 기법에 해당하는가? (0) | 2025.05.31 |
65. 스레드(Thread)에 대한 설명으로 옳지 않은 것은? (1) | 2025.05.31 |
64. 시스템에서 모듈 사이의 결합도에 대한 설명으로 옳은 것은? (0) | 2025.05.31 |
63. C 언어에서 비트 논리연산자에 해당하지 않는 것은? (0) | 2025.05.31 |