在C語言中,使用malloc函數可以動態分配內存空間。要用malloc函數分配結構體數組,可以按照以下步驟進行:
typedef struct {
char name[20];
int age;
} Person;
Person* p;
int n;
scanf("%d", &n); // 輸入數組長度
p = (Person*)malloc(n * sizeof(Person));
這里使用了n * sizeof(Person)作為malloc函數的參數,表示要分配的內存空間大小為n個Person結構體的大小。
int i;
for (i = 0; i < n; i++) {
printf("Enter name: ");
scanf("%s", p[i].name);
printf("Enter age: ");
scanf("%d", &(p[i].age));
}
free(p);
這樣,就可以使用malloc函數在C語言中動態分配結構體數組了。