본문 바로가기

C++

배열(Array)

배열이란 어떤 자료의 집합으로서 컴퓨터 자료구조에서 가장 간단한 자료구조중 하나입니다.

 

정적배열 (Static Array)

연속해있는 자료의 집합이며, 각자료는 번호를 가집니다. 번호는 n개를 원소로 가지는 배열일때 순서대로 0 ~ n - 1의 변호를 가지며 프로그래밍 언어에 따라서 1 ~ n개를 가지는 배열도 짤 수 있습니다.

배열의 길이를 10개로 선언하면 0 ~ 9 번까지의 번호가 자동으로 셋팅되며 프로그래밍 언어에 따라 다르지만

이 번호를 바꾸거나 변경하는 것은 불가능합니다.

또한 배열의 크기를 바꾸는것 역시 일반적으로는 불가능합니다. 즉 배열은 고정된 크기(fixed size)를 가지는 구조입니다.

가장 큰 장점으로는 인덱스 넘버를 가진다는 것으로서 자료를 번호로 접근할 수 있다는 점에서 굉장한 메리트를 가집니다.

배열을 쓰기 적합한 환경은

1. 인덱스 넘버를 활용할 수 있다.

2. 길이가 고정되어 그 길이 이상이 되는 자료를 왠만해서는 사용할 일이 없다.

3. 연속된 데이터를 아무 가공없이 임시로 저장하는 장소로 사용된다.

동적배열(Dynamic Array)

동적배열과 정적 배열의 차이.

정적배열 = 배열의 크기를 바꿀 수 없다.                                 동적배열 = 배열의 크기를 바꿀 수 있다.

 

사용용도

 정적배열은 자료구조를 만드는데 쓰이는 베이스 자료구조, 데이터의 임시저장소, 문자열 저장. 등등 굉장히 많은 분야에서 쓰이지만 이 모든것들을 동적배열이 대체할 수 가 있다.

다만 사용방법이 조금 복잡하므로 버퍼같은 잠시 저장하는 용도로는 사용하지 않으며 데이터 크기의 잦은 변동이 일어날때 동적배열을 사용하게 된다.

 

 

 

'C++' 카테고리의 다른 글

STL 벡터(vector)  (0) 2019.05.14
STL이란 무엇인가?  (0) 2019.05.13
선형, 비선형 자료구조.  (0) 2019.05.13
스택, 큐, 덱  (0) 2019.05.13
C++ 프로그래밍 생성순서  (0) 2019.05.09