[c] 배열의 다양한 초기화 방법

배열은 프로그래밍에서 자주 사용되는 데이터 구조로, 여러 값을 저장하는 데 유용합니다. 배열을 초기화하는 방법에는 여러 가지가 있으며, 각 방법에는 장단점이 있습니다. 이 포스트에서는 가장 일반적인 배열 초기화 방법을 살펴보고, 보다 다양한 초기화 방법에 대해 알아보겠습니다.

1. 배열 선언과 초기화

int arr1[5] = {1, 2, 3, 4, 5};

이 코드는 크기가 5인 int 형 배열을 선언하고, 중괄호를 사용하여 각 요소를 초기화하는 방법입니다.

2. 모든 요소를 0으로 초기화

int arr2[5] = {0};

이 방법은 배열의 모든 요소를 0으로 초기화합니다. 크기가 큰 배열을 초기화할 때 유용합니다.

3. 배열 요소를 일일히 접근하여 초기화

int arr3[5];
arr3[0] = 1;
arr3[1] = 2;
arr3[2] = 3;
arr3[3] = 4;
arr3[4] = 5;

이 방법은 각 요소를 개별적으로 초기화합니다. 요소 수가 많지 않을 때 유용합니다.

4. 동적 할당으로 배열 초기화

int *arr4 = (int*)malloc(5 * sizeof(int));
for (int i = 0; i < 5; i++) {
    arr4[i] = i + 1;
}

메모리를 동적으로 할당하여 배열을 초기화하는 방법입니다. 크기가 미정인 경우에 유용합니다.

5. C99 표준 이후의 초기화 방법

int arr5[] = {[2] = 5, [0] = 1, [1] = 3};

C99 표준부터는 배열 요소의 인덱스를 직접 명시하여 초기화할 수 있습니다. 이 방법은 특정 요소를 초기화할 때 유용합니다.

결론

배열을 초기화하는 방법에는 여러 가지가 있으며, 상황에 따라 적절한 방법을 선택해야 합니다. 각 방법은 메모리 사용량, 실행 시간, 가독성 등의 측면에서 장단점을 가지고 있으므로, 프로그램의 요구사항에 맞게 선택해야 합니다.

이상으로 배열의 다양한 초기화 방법에 대해 알아보았습니다.

레퍼런스: