나미/C

23. 배열

규남 2013. 4. 3. 00:37
반응형

배열이란????

같은 자료형(int, float, char, ...)을 가진 데이터가 연속적으로 사용되어질때 이들을 한꺼번에 차례차례 나열하여 메모리를 할당하는 자료구조를 말한다. 보통은 같은 자료형을 가진 변수들이 여러개가 필요할 때 주로 사용되어진다.

 

배열의 선언

int array[10];

위와 같은 형태로 선언을 합니다. int - 자료형, array - 배열이름, [10] - 배열 길이를 뜻합니다.

단, 특이하게도 배열을 선언과 동시에 초기화를 할경우 예를 들어 설명하면

int array[2] = {1, 2};        정상적인 초기화.

int array[2];                    배열은 연속적인 메모리 할당이므로 배열이름만 사용할 경우 주소를 가지는 상수

array = {1, 2};                 이므로 상수에 상수를 대입할 수 없다. 따라서 error발생.

 

배열의 크기

크기는 보통 자료형과 배열의 길이에 따라 정해집니다. 예를들어

char array[10];       char형1바이트 자료형입니다. 배열길이는 10이므로 1*10, 따라서 10바이트 입니다.

short array[10];     short형2바이트 자료형입니다. 배열길이는 10이므로 2*10, 따라서 20바이트 입니다.

int array[10];            int형4바이트 자료형입니다. 배열길이는 10이므로 4*10, 따라서 40바이트 입니다.

이처럼 자료형과 크기를 알면 배열을 크기를 구할수 있습니다.

 

배열의 같은 표현

배열에서의 주소값을 확인할 때 변수로 지정하는 방법은 두가지가 있다.

&배열이름[번호] == 배열이름 + 번호 == 배열의 주소 값을 나타낸다. 즉, 예시를 보면 &array[0] == array + 0 은 둘다 주소를 표현하는 방법이다.

 

배열에서의 을 확인할 때 변수로 지정하는 방법 또한 두가지가 있다.

배열이름[번호] == *(배열이름 + 번호) == 배열의 값을 나타낸다. 즉, 예시를 보면 array[0] == *(array + 0) 은 둘다 값을 표현하는 방법

 

 

728x90
반응형