[C++] 배열 기초

HY K·2024년 8월 19일

이번에는 C++에서의 배열 기초에 대해서 다뤄보자. 배열은 매우 중요한 자료형으로, 정말 많이 사용된다.


배열

동일한 타입의 메모리를 하나의 단위로 다루기 위해서, 연결된 메모리 형태로 사용하는 자료형

C++은 C언어의 배열을 그대로 사용한다.

배열의 선언과 활용

배열은 선언 시에 상수를 통해 메모리 할당 크기를 정해야 한다.
다음 예시는 1차원 배열을 선언하는 사례이다.

int n[10]; // 정수 10개짜리 빈 메모리 공간 선언 및 할당
double d[] = {0.1, 0.2, 0.3, 0.4}; // d의 크기는 자연스럽게 4로 할당된다.

배열의 각 원소는 다음과 같이 인덱스(index)를 통해서 접근한다.

n[5] = 20;
cout<<d[3];

배열의 인덱스는 0부터 시작하며, 배열의 크기를 넘어서 사용할 수 없다. 컴파일 오류는 발생하지 않지만, 실행 오류가 발생하거나 아니면 잘못된 메모리 접근으로 인해서 프로그램이 강제 종료될 수 있다.

2차원 배열의 선언과 활용

2차원 배열은 행과 열을 가지고 있는 배열로, 다음과 같이 선언 가능하다.

int m[2][5];

위 예시는 2행 5열의 배열을 선언한 것을 보여준다. 1차원 배열과 마찬가지로 인덱스를 통해서 접근하여 사용하며, 인덱스 범위를 잘못 지정한 경우 오류가 발생하며 프로그램이 종료될 수 있다.

다음은 배열을 선언하고, 활용하는 예제 코드이다.

# include <iostream>
using namespace std;

int main() {
	int n[10];
	double d[] = { 0.1, 0.2, 0.5, 3.9 };
	
	int i;
	for (i = 0; i < 10; i++) n[i] = i * 2;
	for (i = 0; i < 10; i++) cout << n[i] << ' ';
	cout << endl;

	double sum = 0;
	for (i = 0; i < 4; i++) {
		sum += d[i];
	}
	cout << "sum = " << sum << endl;
	
}
profile
로봇, 드론, SLAM, 제어 공학 초보

0개의 댓글