뭐라도 끄적이는 BLOG

02. 배열 (Array) 본문

기본이론/Datastructure

02. 배열 (Array)

Drawhale 2023. 6. 17. 08:45

 배열(Array)은 같은 자료형의 데이터를 메모리상에서 연속적으로 저장하는 자료형을 말한다. 이러한 연속된 각각의 값을 배열의 원소(Element)라고 한다.

 위 그림은 int 자료형 원소가 4개 연속해 이어져 있는 1차원 배열을 나타내고 있다. int 자료형이기 때문에 자료 1개당 크기는 4바이트이다. 이제 이러한 배열의 이름을 key라고 하였을 때 C소스로 정의하면 다음과 같다.

int key[4];

위 C소스는 key라는 이름을 가지며 4개의 int자료형 원소를 가지는 배열을 정의하는 소스이다.

배열의 위치 인덱스는 0부터 시작이 되며 차례대로 key[0], key[1], key[2], key[3]이 된다. 배열의 원소의 개수가 4개이면 마지막 인덱스는 3이 되어 마지막 원소가 key[3]이다.

위 그림에서 배열 key의 각 원소 값이 모두 '?'이다. 이것은 각 언어마다 초기화 값이 정해져 있기도 하다. 하지만 C에서는 초기화되지 않고 해당 메모리를 사용하겠다고 선언한 것이기 때문에 이전에 어떤 값이 할당된 메모리에 남아있었는지 알 수단이 없다. 이러한 값을 쓰레기 값이라고 하며 C에서 뿐만 아니라 다른 언어에서도 변수 초기화 없이 선언만 하는 것은 반드시 피해야 한다.

다차원배열

다차원 배열(Multi-Dimensional Array)은 배열의 원소가 배열 자료형인 배열을 말한다. 예를 들어 2차원 배열의 경우 2차원 배열의 각 원소는 1차원 배열이다. 마찬가지로 3차원 배열의 경우 2차원 배열이 3차원 배열의 각 원소가 된다.

int values[2][3] = {{1,2,3},{4,5,6}};

 

반응형

'기본이론 > Datastructure' 카테고리의 다른 글

06. 트리(Tree)  (0) 2023.06.17
05. 큐(Queue)  (0) 2023.06.17
04. 스택(Stack)  (0) 2023.06.17
03. 리스트(List)  (0) 2023.06.17
01. 자료구조의 정의  (0) 2023.06.17