이전에 우리는 구조체 여러 개를 사용하기 위해서는 배열을 사용해서 구조체를 생성했었다. 이제는 동적 할당을 배웠으니, 동적할당을 기반으로 구조체를 동적으로 생성해보자.
[구조체 동적 생성]
#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);
}
위의 코드와 같이 구조체를 사용자 입력에 따라서 개수를 늘렸다, 줄였다 할 수 있다.
'2학년 2학기 > c언어' 카테고리의 다른 글
13-6장 동적 할당에서의 대표적인 오류들 (0) | 2024.11.25 |
---|---|
13-5장 realloc(), memset(), calloc() (1) | 2024.11.25 |
13-3장 동적 할당 영역을 배열처럼 쓰기 (0) | 2024.11.19 |
13-2장 malloc()과 free() (0) | 2024.11.19 |
13-1장 동적 메모리 할당란? (0) | 2024.11.19 |