2-1장 기본 자료구조 - 배열 : 자료구조, 배열 (1/10)

 

해당 내용은 Do it! 자료구조와 함께 배우는 알고리즘 입문 C 언어 편 (전면 개정판)을 기반으로 작성되었습니다.


2-1장 기본 자료구조 - 배열 : 자료구조, 배열 (1/10)

자료구조

- 데이터 단위와 데이터 자체 사이의 물리적. 논리적 관계

- 자료를 효율적으로 사용할 수 있도록 컴퓨터에 자작하는 방법

 

배열

- 같은 자료형의 변수로 이루어진 요소(element)가 모여 직선 모양으로 줄지어 있는 자료구조

 

배열 생성 / 선언

// 자료형 배열이름[요소개수];
int a[5];

- int형인데 5개의 요소가 있는 배열 a 생성

- 배열 a는 a[0], a[1], a[2], a[3], a[4]로 총 5개의 int형 저장 공간을 갖게 됨.

 

** 주의 : 배열 선언 시, 요소 개수는 상수만 사용한다.

 

배열의 각 요소에 값 입력

// 방법 1) 요소 값 입력

int a[5];

a[0] = 30;
a[1] = 19;
a[2] = -4;
a[3] = 0;
a[4] = 8;
// 방법 2) 요소 값 입력

int a[5] = {30, 19, -4, 0, 8};

 

배열의 자료형

- 배열의 자료형은 구분해서 사용해야한다.

- 배열 a의 각 요소의 자료형은 int형이다.  즉, a[2]은 int형

- 배열 a의 자료형은 int[5]형이다. 즉 a는 int[5]형

 

배열의 요소 개수 구하기

sizeof(배열이름)/sizeof(배열요소1개);
int a[5] = {30, 19, -4, 0, 8};

int nums = sizeof(a)/sizeof(a[0]); // 베열 사이즈/배열요소 1개

 

sizeof(a) : 전체 배열이 할당된 메모리 크기

sizeof(a[0] : 첫 번째 요소가 할당된 메모리 크기

 

ex) int형이 4byte이고, 전체 배열 크기가 20byte라면, 첫 요소의 크기는 4byte가 된다. 그러므로 20/4 에서 배열의 요소 개수가 5인 것을 알 수 있음. 

 

** 주의

sizeof(배열이름)/sizeof(자료형);

자료형으로 나눠도 배열의 요소 개수를 구할 수 있다. 하지만, 배열의 자료형이 달라질 때 대응할 수 가 없게 된다.