POST

C언어 배열이란? - 1차원배열

배열은 다수의 데이터를 저장하고 처리하는 경우에 유용하게 사용할 수 있다.

예를 들어 한반에 30명있을때 각각의 학생들의 점수를 입력받아 저장 해야할때 배열이 쓰이게된다.


위같은 상황에서 배열을 사용하지 않으면 변수선언은 물론 입력받는 것부터 저장, 출력도 30번을 적어야한다.

이 세가지만 하더라도 코드의 줄은 90줄이다. 그래서우리는 배열이라는 것을 사용하는것이다.


한 반에 10명이 있을때 각각의 학생들의 점수를 입력받아 저장, 출력하는 코드를 짜보았다 코드는 아래와 같다.

#include<stdio.h>


#define SIZE 10

#pragma warning(disable:4996)


int main(void)

{

int students[SIZE];

int i;

int sum=0;

for (i = 0; i < SIZE; i++) {

printf("%2d 번 >>>> ", i + 1);

scanf("%d", &students[i]);

sum += students[i];

}

printf("%d명의 평균 점수는 %d입니다.", SIZE, sum/SIZE);

}


이 처럼 배열을 사용하게 되면 반복문하나로 다수의 변수의 값을 지정해줄수있다.

배열을 선언 할때는 일반적인 변수 선언과는 조금 차이가 있다.


int number[4];

처럼 배열을 선언하는데 여기서 int는 배열을 이루는 변수의 자료형이고

number은 배열의 이름이며 [4]는 배열의 길이가 된다.

쉽게말해 긴 상자에  한 색상(자료형)의 양말(변수)이 4개 들어 있다는 것이다.

그리고 이것을 1차원 배열이라 한다.

[int][int][int][int]


하나의 배열의 자료형은 모두 동일 해야하며 정수형, 실수형, 문자형 모두다 사용할 수 있다.

자료형의 종류


배열의 길이가 3일때 배열의 첫번째 요소는 0이고 두번째 요소는 1이고 세번째 요소는 2이다.

배열의 위치는 1-2-3 이아닌 0부터 시작하여 0-1-2 이다. 자주 혼돈하므로 참고하자.


배열을 사용함에 있어 반복문은 필수이다.


배열을 초기화 할때는 {}이 기호를 이용하여 아래 처럼 초기화를 할수있다. (배열의 선언과 초기화)

int number[5] = {1,2,3,4,5} // 5개의 배열 선언과 동시에 차례대로 1,2,3,4,5로 초기화

int number[5] = {0} // 0으로 모두 초기화

int number[5] = {1} // 0의자리인 첫번째 요소를 1로 초기화하고 남은 공간은 0으로 초기화

int number[] = {1,2,3,4,5,6,7} // 배열의 길이가 자동으로 7개가 되며 해당 숫자로 초기화된다. 


이외에도 배열을 이용한 문자열 배열과 2차원 배열 그리고 3차원 배열이 있다.


문자열 배열 보러가기