Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어에서 배열 요소에 접근하는 방법 총정리

배열(Array)이란?

배열은 하나의 공통된 이름 아래 서로 연관된 데이터 항목들을 모아 놓은 집합입니다. 배열 안에서 특정 값을 찾으려면 "인덱스 번호(index)" 또는 "첨자(subscript)"를 사용합니다.

배열의 가장 큰 장점은 다음과 같습니다.

  • 하나의 이름만으로 여러 항목의 집합을 표현할 수 있고, 항목 번호를 지정해 개별 항목에 접근할 수 있기 때문에 간결하고 효율적인 프로그램 작성이 가능합니다.

배열 선언 방법

C 언어에서 배열을 선언하는 기본 문법은 다음과 같습니다.

datatype array_name [size];

예시 1)

float height[50];

위 코드는 실수형(float) 요소 50개를 저장할 수 있는 'height' 배열을 선언합니다.

예시 2)

int group[10];

위 코드는 정수형(int) 상수를 최대 10개까지 담을 수 있는 'group' 배열을 선언합니다.

배열 요소에 접근하기

배열 전체는 하나의 자료 구조로 취급되지만, 그 안의 개별 값들은 "요소(element)"라고 부르며 각 요소는 배열 첨자(인덱스)로 구분합니다. C 언어에서 인덱스는 0부터 시작한다는 점을 꼭 기억하세요. 예를 들어 크기가 5인 배열의 유효한 인덱스 범위는 0부터 4까지입니다.

배열 인덱스를 사용하면 특정 요소에 손쉽게 접근하여 값을 저장하거나 읽어올 수 있습니다.

예제 프로그램

다음은 C 언어에서 배열 요소에 접근하는 방법을 보여주는 예제 코드입니다.

#include<stdio.h>
int main(){
    int array[5], i;
    array[3] = 12;
    array[1] = 35;
    array[0] = 46;
    printf("Array elements are: ");
    for(i = 0; i < 5; i++){
        printf("%d ", array[i]);
    }
    return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Array elements are: 46 35 38 12 9704368

출력 결과를 보면 array[0], array[1], array[3]에는 각각 46, 35, 12가 저장되어 정상적으로 출력됩니다. 반면 array[2]array[4]에는 값을 저장하지 않았기 때문에 해당 메모리 위치에 남아 있던 쓰레기값(garbage value)이 그대로 출력됩니다.

따라서 배열을 사용할 때는 초기화하지 않은 요소를 읽지 않도록 주의해야 합니다. 안전한 코드를 위해 선언과 동시에 int array[5] = {0};처럼 배열을 초기화하는 습관을 들이는 것이 좋습니다.