[c언어] 구조체를 위한 동적 메모리 할당 방법

프로그램에서 구조체에 동적 메모리를 할당하는 것은 메모리를 효율적으로 사용하고 필요에 따라 메모리를 확장할 수 있는 유연한 방법입니다. C 언어에서는 malloc 함수를 사용하여 구조체에 동적 메모리를 할당할 수 있습니다. 이 포스트에서는 구조체에 대한 동적 메모리 할당 방법에 대해 알아보겠습니다.

구조체의 동적 메모리 할당

구조체를 위한 동적 메모리 할당을 위해 malloc 함수를 사용할 수 있습니다. 구조체 타입의 포인터를 선언하고 malloc 함수를 사용하여 해당 구조체의 크기만큼의 메모리를 동적으로 할당할 수 있습니다.

다음은 구조체를 위한 동적 메모리 할당의 예시입니다.

#include <stdio.h>
#include <stdlib.h>

typedef struct {
    int id;
    char name[20];
} Person;

int main() {
    // 구조체 Person에 대한 포인터 선언
    Person *personPtr;

    // 구조체 크기만큼의 메모리를 동적으로 할당
    personPtr = (Person*)malloc(sizeof(Person));

    // 할당된 메모리를 이용한 작업 수행

    // 할당된 메모리 해제
    free(personPtr);

    return 0;
}

위의 예시에서, malloc 함수를 사용하여 Person 구조체의 크기만큼의 메모리를 동적으로 할당한 후, 작업이 완료되면 free 함수를 사용하여 해당 메모리를 해제합니다.

동적 할당된 메모리를 사용한 후에는 반드시 메모리를 해제해야 합니다. 그렇지 않으면 메모리 누수가 발생할 수 있습니다.

결론

이 포스트에서는 C 언어에서 구조체를 위한 동적 메모리 할당 방법에 대해 살펴보았습니다. 동적 메모리 할당을 사용하면 프로그램이 실행되는 동안 필요에 따라 메모리를 할당하고 해제할 수 있으므로 메모리를 효율적으로 관리할 수 있습니다.

참고문헌: