c언어 배열 초기화 array initialization
c언어 배열 초기화 array initialization
■ 지난 글에서 c언의 배열의 개념과 선언 방법 등을 정리해봤는데요. 이번에는 배열을 선언과 동시에 초기화를 하면서 배열의 몇 가지 특징을 정리해보겠습니다. 먼저 선언과 동시에 초기화하는 방법은 다음과 같습니다.
int aaa[3]={1, 2, 3};
이런 형식인데요. [] 안에 3은 배열의 길이를 의미하고 1, 2, 3이 순서대로 저장됩니다. 이게 c언어 배열 초기화 기본 형식이rh요. 만약 길이를 의미하는 [3]을 입력하지 않은 상태에서 초기화 리스트{}의 값들을 입력하면 컴파일러에 의해서 자동으로 3이라는 길이가 저장됩니다.
int bbb[]={1, 2, 3};
앞에서 정의한 배열과 완벽하게 동일한 형식입니다. 참고하시고요. 다음은 선언한 길이와 초기화 한 값의 개수가 다른 경우입니다.
ina ccc[5]={1, 2, 3};
분명히 배열의 길이를 5로 선언했는데 초기화는 세 개만 했습니다. 이런 경우 나머지 두 개는 "0"으로 초기화됩니다. {1, 2, 3, 0, 0} 으로 저장 되는 것입니다. 이렇게 c언어 배열을 선언하면서 초기화를 할 수 있고요.
■ 다음은 배열의 크기를 알아볼 텐데요. (자료형 X 길이)입니다. 앞에서 선언한 배열들은 모두 12byte가 되겠죠? 간단한 프로그램을 만들어서 확인해보겠습니다.
▲ aaa는 기본 형식이고요. bbb는 길이를 지정하지 않고 초기화만 하고 있습니다. 이는 컴파일러가 5개로 길이를 저장합니다. 그리고 자료형을 다르게 해서 배열의 크기를 확인하기 위해서 8byte인 double 배열을 선언해봤습니다. 그리고 길이는 5개로 했는데 초기화는 세 개만 했습니다. 그래도 배열의 길이는 5이고 나머지 두 개는 0으로 초기화 되겠죠? 이 프로그램을 실행해서 배열의 크기가 byte 단위로 출력 되는지 확인해보고 마무리하겠습니다.
▲ [자료형의 크기 x 배열의 길이] 값이 배열의 크기가 되는 걸 확인할 수 있습니다. 이렇게 해서 c언어 배열의 초기화에 대해서 정리해봤습니다. 수고하셨어요.