본문 바로가기
2학년 2학기/c언어

13-4장 구조체 동적 생성

by kkkkk1023 2024. 11. 25.

이전에 우리는 구조체 여러 개를 사용하기 위해서는 배열을 사용해서 구조체를 생성했었다. 이제는 동적 할당을 배웠으니, 동적할당을 기반으로 구조체를 동적으로 생성해보자. 

 

 

[구조체 동적 생성]

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

struct Movie{
    char title[100];
    double rate;
};


int main(){

    struct Movie* pi;
    int size = 0;
    printf("영화의 개수: ");
    scanf("%d", &size);

    pi = malloc(size * sizeof(struct Movie));

    if (pi == NULL){
        printf("메모리 할당 오류\n");
        exit(1);
    } 

    free(pi);
}

 

위의 코드와 같이 구조체를 사용자 입력에 따라서 개수를 늘렸다, 줄였다 할 수 있다.