배열이란?
배열이란 연속적인 항목들이 동일한 크기의 순서를 가지고 나열되어 있는 데이터의 집합입니다.
일차원 배열
배열명 다음에 대괄호를 쓰며, 그 안에 배열의 크기를 나타내는 수를 하나 쓰면 됩니다. 자료형 배열명[첨자]
처럼 말입니다.int score[1000]
이라는 배열에서, 대괄호 안에 있는 첨자는 양의 정수가 되어야 하고 이를 배열의 크기라고 합니다. score이라는 배열은 int형 자료 1000개를 저장할 수 있겠지요. 그 1000개의 공간을 배열의 원소라고 합니다.
#include <stdio.h>
int main()
{
int num[3]; // 배열 선언 시, 대괄호 안의 값은 배열의 크기입니다.
num[0] = 1; // 배열의 원소에서, 대괄호 안의 값은 순서입니다.
num[1] = 60;
num[2] = 34;
printf("%d ,%d ,%d ",num[0],num[1],num[2]);
}
배열 선언 시의 첨자와 배열 원소에서의 첨자를 헷갈리는 것을 주의해야겠습니다.
일차원 배열의 초기화
- 원소가 많으므로, 중괄호로 묶어 줍니다.
int score[5] = {1,4,3,6,7}
- 문자형 배열의 마지막 원소는 반드시 NULL값인 \0이 오게 되어 있습니다.
char name[ ] = {'g', 'h', 'g', 'd', 'x', 'y', 'z','\0'};
- 배열 선언과 함께 초기화까지 하는 경우에는 원소의 개수는 생략이 가능합니다.
- 문자 배열은 문자열 형태로 초기화할 수도 있습니다.
char name[ ] = "Hello, world!"
배열 초기화 방법
- 배열 원소가 초기화 데이터 수보다 많으면, 나머지 원소들은 0으로 초기화됩니다.
- 100개의 원소를 갖는 배열을 2개만 초기화하면 나머지 98개는 모두 0으로 자동 초기화됩니다.
- 배열 원소의 수가 초기화한 데이터 수보다 적으면, 에러가 발생합니다.
문자형 배열
문자열은 문자형 배열에 저장합니다. 배열의 이름은 그 배열의 시작 주소입니다.
제가 이해한 C언어 배열의 간단한 정리입니다. 다음 포스트인, C언어의 포인터에서 한번 더 다룰 것입니다.