[c] 배열과 동적 메모리 할당

이 블로그 포스트에서는 C 언어에서 배열과 동적 메모리 할당에 대해 알아보겠습니다.

배열

배열은 동일한 자료형의 요소를 순차적으로 저장하는 데 사용됩니다. 배열을 선언할 때 요소의 개수를 지정해야 하며, 한 번 설정한 크기는 변경할 수 없습니다.

다음은 배열을 선언하고 사용하는 간단한 예제입니다.

int main() {
    int numbers[5] = {1, 2, 3, 4, 5};

    for (int i = 0; i < 5; i++) {
        printf("%d\n", numbers[i]);
    }

    return 0;
}

동적 메모리 할당

동적 메모리 할당은 프로그램 실행 중에 메모리를 할당하는 것을 말합니다. C 언어에서는 malloc 함수를 사용하여 동적으로 메모리를 할당할 수 있습니다.

다음은 동적으로 메모리를 할당하고 해제하는 예제입니다.

int main() {
    int *ptr = (int*)malloc(5 * sizeof(int));

    if (ptr == NULL) {
        printf("메모리 할당 실패\n");
    } else {
        for (int i = 0; i < 5; i++) {
            ptr[i] = i + 1;
        }

        for (int i = 0; i < 5; i++) {
            printf("%d\n", ptr[i]);
        }

        free(ptr);
    }

    return 0;
}

위의 예제에서 malloc 함수를 사용하여 int 자료형 5개의 메모리를 동적으로 할당한 후, 이를 활용한 후 free 함수로 메모리를 해제하고 있습니다.

동적 메모리 할당은 필요한 만큼의 메모리를 동적으로 사용할 수 있어 효율적으로 메모리를 관리할 수 있는 장점이 있습니다. 하지만 메모리 누수나 잘못된 접근으로 인한 버그에 주의해야 합니다.

이상으로 C 언어에서의 배열과 동적 메모리 할당에 대한 간단한 소개였습니다. 해당 내용에 대한 추가적인 정보는 C 언어의 공식 문서를 참고하시기 바랍니다.