728x90
배열이란?
배열이란 같은 자료형으로 이루어진 갯수가 정해진 모임이라고 생각할 수 있다.
배열은 메모리 영역에 일렬로 할당되며, 인덱스(번호)는 0부터 시작합니다!
배열의 기본 형
int array[10]={};
위 코드에서는 int형 자료형으로 10개의 변수를 선언하고, 각 값들을 0으로 초기화 해주었다는 뜻을 의미한다.
그럼 개별 요소들은 어떻게 접근할까?
배열은 인덱스을 통해 각 원소에 접근한다.
array[0]=10;
array[1]=20;
array[2]=30;
array[3]=40;
array[4]=50;
array[5]=60;
주의 할 점이 있다. 배열의 첫번째 인덱스는 1번째가 아니라 0번쨰부터 시작한다.
배열의 메모리는 연속적으로 할당된다
변수를 선언하면 메모리 영역에서는 그 변수의 자료형에 따라 크기별로 공간이 할당된다.
배열은 메모리 할당 시에는 한 묶음으로 자료형 크기 * 배열의 개수 만큼 할당하게 된다.
예를 들어, int형 배열 10개를 선언했다면, 4 * 10 = 40
40바이트 공간 만큼의 영역이 10개로 쪼개져서 할당되는 것이다!!
⇒나중에 포인터의 개념과 결합하여 생각할 수 있다.
배열의 문제점
int array1[10]={};
array1[12]=10;
int array2[100]=[]
array1의 마지막 인덱스는 array1[9]이다.
위 코드에서의 array1[12]에 접근하면 원래 오류가 나야 정상이다.
하지만 이 코드는 때에 따라서 오류가 안 날 수 있다.
왜??
연속적인 메모리 할당으로 array1[12]의 공간이 array2의 배열 중 한군데와 겹칠 수 있기 때문!
따라서 인덱스를 조심해야 이를 방지 할 수 있다.
728x90
'프로그래밍 언어 > C++ [기본]' 카테고리의 다른 글
[C++기본] 10.지역 변수와 전역 변수 (0) | 2021.08.26 |
---|---|
[C++기본] 9.구조체 (0) | 2021.08.26 |
[C++기본] 7.함수 (0) | 2021.08.25 |
[C++기본] 6.변수 (0) | 2021.08.25 |
[C++기본] 5.반복문 (0) | 2021.08.25 |