본문으로 바로가기

데이터와 작업의 모듈화 - 1. 배열

category Education/정보과학 2019. 6. 25. 01:48

1차원 배열

변수는 어떠한 값을 저장하고 다시 사용하기 위해 사용되는 저장 공간의 이름이라고 할수 있습니다. 그런데, 만약 같은 자료형의 변수들이 많이 필요한 상황일 경우 각각의 변수를 모두 이름이 다르게 선언 해야하는데, 이렇게 만들어진 변수들은 다루기 위해서 각각의 이름을 개별적으로 사용해야 하기 때문에 비효율 적입니다.

 

이때, 배열을 사용한다면 같은 이름으로 참조 번호(Index)만 다르게 해서 데이터를 다룰수 있게 됩니다.

 

배열은 아래와 같이 선언할 수 있습니다.

int a[10] ;  //자료형 이름[개수];

위와 같이 선언 할 경우 정수를 저장하는 저장공간 10개 ( a[0], a[1], ···, a[9] ) 가 만들어집니다.

 

학생 20명의 데이터를 관리하는 프로그램을 만든다고 생각해 봅시다. 만약 이때 개별 변수로 구현하려 한다면 20개의 학생 변수를 모두 개별적으로 만들어 관리해야 할 것 입니다.

#include<stdio.h>

int main(){
	int A,B,C,D,E,F,G,H, ··· //20명의 학생에 대응하는 변수들을 모두 개별적으로 만들어야 합니다.
}

 

그런데 이때 배열을 사용한다면 아래와 같습니다.

#include <stdio.h>
int main(){
	int student[20]; //정숫값을 저장하는 student[0] ~ student[19]의 20개의 저장공간이 만들어집니다.
}

 

다차원 배열

다차원 배열은 2개 이상의 참조 번호(Index)를 사용하는 배열입니다. 2차원 배열은 표(table)와 그 형태가 비슷하며 문제 상황에 따라 2차원 이상의 배열을 사용해 데이터를 저장하고 쉽게 다룰 수 있습니다.

int a[3][3]; //2차원 배열의 선언, 자료형 변수이름[행][열]
a[0][0] a[0][1] a[0][2]
a[1][0] a[1][1] a[1][2]
a[2][0] a[2][1] a[2][2]

위 표는 선언된 배열을 모식화 하여 나타낸 것입니다. 9개의 저장공간이 만들어 졌으며, 이를 통해 더욱더 체계적인 데이터 관리와 모듈화가 가능합니다.