본문 바로가기
기출문제풀이/정보처리기사 2020년 1, 2회

66. C 언어에서 배열 b[5]의 값은?

by 게토레이쉐이크 2025. 5. 31.

[정보처리기사 기출 해설] 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) 개념
  • 한국산업인력공단 정보처리기사 시험 문제지