다음 코드에서 컴파일 에러가 발생하는 이유는 무엇인가요?

과목: C++

문제 번호: 3436

easy
다음 코드에서 컴파일 에러가 발생하는 이유는 무엇인가요?
string cars[];
cars[0] = "Volvo";
cars[1] = "BMW";
A. 배열 이름이 잘못되었다
B. 문자열 할당 문법이 틀렸다
C. 배열 크기가 지정되지 않았다
D. 인덱스 번호가 잘못되었다

정답: C



배열을 선언할 때 크기를 생략하려면 반드시 초기화 값이 있어야 합니다.

에러 발생 이유:
string cars[];는 크기도 없고 초기값도 없습니다.
⦁ 컴파일러가 배열을 위해 얼마나 메모리를 할당해야 할지 알 수 없습니다.
⦁ C++에서는 컴파일 시점에 배열 크기가 결정되어야 합니다.

올바른 해결 방법:
// 방법 1: 크기 명시
string cars[2];
cars[0] = "Volvo";
cars[1] = "BMW";

// 방법 2: 초기화와 함께 크기 생략
string cars[] = {"Volvo", "BMW"};

💡 학습 팁

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