오늘은 C++의 다차원 배열에 대해서 공부하자.
기존에 학습했던 배열은 arr[10]과 같이 길이를 한 개만 명시해 주었다.
오늘 학습 할 다차원 배열은 배열에 추가적인 길이를 할당할 수 있다.
다차원 배열에 대해 학습하고 어떻게 활용할 수 있는지 알아보자.
배열 복습하기
다차원 배열 학습에 앞서 저번에 공부했던 배열을 복습해 보자.
int arr[10] = {1, 2, 3};
일반적인 배열은 위와 같이 구현할 수 있다.
어떤 데이터를 저장할지에 따라서 데이터 타입을 작성하고, 길이를 결정한다.
위의 배열은 길이가 10인 배열에 1, 2, 3을 저장한 것이다.
배열의 길이는 저장할 데이터보다 길면 된다.
길이를 짧게 설정하면 원하는 데이터를 모두 저장할 수 없고, 이것은 다차원 배열에서도 마찬가지이니 알아두도록 하자.
다차원 배열이란?
다차원 배열은 일반적인 배열에 추가적인 길이를 할당한다.
int arr[10][10];
arr[0]의 길이가 10, arr[1]의 길이가 10 이런식으로 각 배열에 대해 추가적인 길이를 갖고 있는 것이다.
다차원 배열 코드 구현
다차원 배열을 구현해 보자.
int arr[10][5] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
배열 arr의 길이를 [10][5]로 생성했다.
큰 배열의 길이가 10개이고, 각 배열의 요소는 5가까지 작성할 수 있음을 의미한다.
arr[0]의 데이터가 {1, 2, 3}, arr[1]의 데이터가 {4, 5, 6}, arr[2]의 데이터가 {7, 8, 9}인 것이다.
그럼 각 데이터를 출력해보자.
cout << arr[0][0] << endl;
cout << arr[1][1] << endl;
cout << arr[2][0] << endl;
첫 번째 줄 arr[0][0]은 arr[0]의 0번째 데이터이다.
{1, 2, 3} 중 0번째 데이터이므로 1이 출력될 것이다.
두 번째 줄 arr[1][1]은 arr[1]의 1번째 데이터이다.
{4, 5, 6} 중 1번째 데이터이므로 5가 출력된다.
세 번째 줄 arr[2][0]은 arr[2]의 0번째 데이터이다.
{7, 8, 9} 중 0번째 데이터이므로 7이 출력됨을 알 수 있다.
1
5
7
다차원 배열 예제 코드 구현하기
학생들의 점수를 구현하는 코드를 구현해보자.
일반 배열에서는 점수가 한가지였지만, 이번에는 두 과목 점수를 저장할 수 있도록 다차원 배열로 구현해보자.
int score[5][5] = {{90, 80}, {100, 80}, {75, 60}};
for(int i=0; i<3; i++)
{
cout << "학생 " << i+1 << endl;
cout << "국어 : " << score[i][0] << endl;
cout << "영어 : " << score[i][1] << endl;
}
학생 1
국어 : 90
영어 : 80
학생 2
국어 : 100
영어 : 80
학생 3
국어 : 75
영어 : 60
각 학생의 점수를 출력해 보았다.
첫 번째 학생의 경우 90, 80을 받았으므로 score[0][0], score[0][1]을 출력하면 원하는 데이터를 출력할 수 있다.
나머지 학생도 마찬가지로 각 배열에 2개의 데이터를 추가적으로 갖고 있으므로 위와 같이 인덱스를 설정해 데이터를 출력할 수 있다.
오늘은 C++의 다차원 배열에 대해서 공부해 보았다.
기본 배열을 복습하고, 다차원 배열을 구현하는 방법을 알아 보았다.
다차원 배열의 데이터 타입과 길이를 설정하는 방법을 학습하면서 여러 가지 배열을 구현해보면 좋겠다.
다차원 배열을 여러 가지로 활용할 수 있는 곳이 많으므로 연습을 통해 숙련도를 향상할 수 있도록 하자.
'2025 C언어 강의' 카테고리의 다른 글
C++ string 클래스를 공부하자 (length 길이 구하기, append 문자열 붙이기) (1) | 2025.01.18 |
---|---|
C++ for, while 반복문 활용하기 (0) | 2025.01.17 |
C++ while 반복문을 공부하자 (for문과의 차이점) (0) | 2025.01.14 |
C++ for 반복문을 공부하자 (1) | 2025.01.13 |
C++ 조건문 if, else if, else를 공부하자! (1) | 2025.01.12 |