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

C 언어에서 반복되는 값을 간단히 초기화하는 배열 표기법

C에서 반복 값 배열 초기화하기

배열(Array)은 동일한 데이터 타입의 여러 값을 하나의 이름으로 관리할 수 있게 해주는 자료구조입니다. 그런데 실제 개발 과정에서는 같은 값이 여러 번 반복되는 상황이 자주 발생합니다. 예를 들어 3, 3, 3, 3처럼 동일한 숫자를 연속해서 저장해야 하는 경우입니다.

이럴 때마다 일일이 값을 나열하면 코드가 길어지고 실수할 가능성도 커집니다. 이를 위해 C 언어(GCC 계열 컴파일러)는 범위 지정 초기화 문법을 제공하여 프로그래머의 작업 부담을 크게 줄여줍니다.

문법(Syntax)

[시작 인덱스 ... 끝 인덱스]반복할_값

예시 : 3을 5번 반복하여 저장하는 경우
[0 ... 4]3

즉, 대괄호 안에 시작 인덱스와 끝 인덱스를 마침표 세 개(...)로 구분하여 적고, 뒤에 반복할 값을 붙이면 해당 범위의 모든 요소가 같은 값으로 한 번에 초기화됩니다.

예제 코드(Example)

#include <stdio.h>
int main() {
    int array[10] = {[0 ... 4]3, [6 ... 9]5};
    for (int i = 0; i < 10; i++)
        printf("%d ", array[i]);
    return 0;
}

위 코드에서는 인덱스 0부터 4까지는 3으로, 인덱스 6부터 9까지는 5로 초기화했습니다. 인덱스 5는 지정하지 않았으므로 자동으로 0이 됩니다.

실행 결과(Output)

3 3 3 3 3 0 5 5 5 5

참고 사항

[start ... end] 형태의 범위 지정자는 표준 C 문법이 아니라 GCC(GNU Compiler Collection)에서 제공하는 확장 기능입니다. 따라서 GCC나 Clang처럼 GNU 확장을 지원하는 컴파일러에서만 사용할 수 있으며, MSVC 등 다른 컴파일러 환경에서는 호환되지 않으니 이식성이 중요한 프로젝트라면 사용에 주의해야 합니다.