다음 두 배열 선언문 중 어느 것이 올바른 문법인가요?

과목: C++

문제 번호: 3435

easy
다음 두 배열 선언문 중 어느 것이 올바른 문법인가요?
// 선언문 A
string cars[] = {"Volvo", "BMW", "Ford"};

// 선언문 B  
string cars[3] = {"Volvo", "BMW", "Ford"};
A. A만 올바르다
B. B만 올바르다
C. 둘 다 올바르다
D. 둘 다 잘못되었다

정답: C



두 선언문 모두 문법적으로 올바르며 동일한 결과를 만듭니다.

선언문 A 분석:
⦁ 배열 크기를 명시하지 않았습니다.
⦁ 컴파일러가 초기화 값의 개수를 세어 자동으로 크기를 결정합니다.
⦁ 3개의 값이 있으므로 크기 3인 배열이 생성됩니다.

선언문 B 분석:
⦁ 배열 크기를 명시적으로 3으로 지정했습니다.
⦁ 초기화 값의 개수와 일치하므로 정상 작동합니다.

권장사항:
⦁ B 방식이 더 좋은 관례로 여겨집니다.
⦁ 명시적 크기 지정으로 프로그램 오류 가능성을 줄입니다.
⦁ 코드 가독성과 유지보수성이 향상됩니다.

💡 학습 팁

이 문제를 포함한 C++ 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.