더북(TheBook)

그러면 만약 배열 크기와 배열 변수의 개수가 다음처럼 맞지 않을 땐 어떻게 될까요?

int a[5] = { 1, 2, 3, 4 }; // 배열 변수의 값이 하나 모자라는 경우

이렇게 정수 자료형 배열 a를 선언과 동시에 초기화하면 결과는 그림 7-7과 같습니다. a[4] 메모리 자리에는 값이 초기화되지 않았으므로 자동으로 기본 값 0이 저장됩니다.

그림 7-7 | 정수 자료형 배열 a[4]에는 자동으로 0이 저장됨

 

반대로 다음과 배열 a를 선언과 동시에 초기화하면 결과는 어떨까요?

int a[5] = { 1, 2, 3, 4, 5, 6 };  // 배열 변수의 값이 하나 남는 경우

컴파일 에러가 발생합니다. 정수를 저장할 방은 5개를 잡았는데, 6개의 정수를 저장하려고 하므로 저장할 방이 하나 모자랍니다. 따라서 컴퓨터는 “저장할 수 없다!”는 에러를 알려줍니다.

해결 방법은 int a[6] 또는 int a[]로 선언하거나 5개의 정보만 저장하도록 코드를 수정해야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.