승쨩개발공부

[C++] 배열 본문

C++

[C++] 배열

SeungHyune 2021. 11. 24. 22:34

배열

동일한 특성(자료형)을 가지며 일정한 규칙(연속된 메모리)에 의해 나열되있는 데이터 집합.

-> 변수를 여러게 만드는 방법

 

배열 선언

변수 선언 시 변수명 뒤에 []를 붙이면 배열을 만든다.

자료형 변수명 [배열의 수]

int iArr[5];

-> int 자료형의 변수를 총 5개 만드는 것.

int(4bytes) 자료형으로 공간을 5개 만들었으니 20bytes크기가 나온다.

 

 

배열의 초기화

= {}

 

 쓰레기 값 초기화
 5개의 변수가 모두 쓰레기 값으로 초기화가 진행된다.
int iArr[5];

 선언과 동시에 0 초기화
 5개의 변수가 모두 0으로 초기화가 진행된다.
int iArr[5] = {};

 5개의 변수가 순차적으로 1, 2, 3, 4, 5로 초기화가 진행된다.
int iArr[5] = { 1, 2, 3, 4, 5 };

 5개의 변수가 순차적으로 채워진 후 나머지는 0으로 채워진다.
 -> 1, 2, 3, 0, 0
int iArr[5] = { 1, 2, 3 };

 

 

 

원소 확인

변수명 뒤에 []를 사용하면 원소에 접근하게 된다.

-> 인덱스(index) 접근

인덱스는 0부터 시작한다.

int iArr[5] = { 1, 2, 3, 4, 5 };
cout << iArr[2] << endl;  // 0부터 시작하는 인덱스에 2번쨰 인덱스 값인 3이 나온다. 

 

 

배열의 이름

배열의 이름은 시작 주소를 저장하고 있는 포인터이다.

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

cout << "iArr: " << iArr << endl;  // 값으로 주소가 나오게 된다.

cout << "-------------------" << endl;

 

 

2차원 배열

원소로 1차원 배열을 가지는것.

자료형 변수명[ 세로(행) ][ 가로(열) ]
int iArr[2][3];

3개짜리 배열을 2줄 만들겠다 라는 뜻.

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

 

 

문자 배열

자료형이 char를 사용하는 배열

 

선언

char szBuff[20];

 

초기화문자 배열의 초기화는 큰 따옴표로 문자열을 초기화한다.문자열의 문자들을 배열 한칸 한칸에 저장해 놓는다.

지막 문자가 들어간 다음 칸에는 자동으로 NULL 문자를 추가한다.

문자 배열은 선언과 동시에 초기화를 진행해야만 한다.

char szBuff[20] = "Hello";

 

NULL문자?컴퓨터에게 문자를 여기까지 읽어라 라고 명령하는 것.NULL문자를 삽입할 공간이 없으면 초기화가 불가능하다.char szBuff[5] = "Hello";          // 불가능