溫馨提示×

C語言中怎么用malloc分配結構體數組

小億
594
2023-08-06 06:35:52
欄目: 編程語言

在C語言中,使用malloc函數可以動態分配內存空間。要用malloc函數分配結構體數組,可以按照以下步驟進行:

  1. 定義結構體類型。例如,假設定義了一個結構體類型為Person:
typedef struct {
char name[20];
int age;
} Person;
  1. 聲明一個指向結構體類型的指針。例如,聲明一個指向Person類型的指針p:
Person* p;
  1. 使用malloc函數為結構體數組分配內存空間。例如,為一個包含n個Person結構體的數組分配內存空間:
int n;
scanf("%d", &n); // 輸入數組長度
p = (Person*)malloc(n * sizeof(Person));

這里使用了n * sizeof(Person)作為malloc函數的參數,表示要分配的內存空間大小為n個Person結構體的大小。

  1. 使用分配的內存空間。分配內存后,就可以使用指針p來訪問和操作結構體數組中的元素了。例如,給數組中的元素賦值:
int i;
for (i = 0; i < n; i++) {
printf("Enter name: ");
scanf("%s", p[i].name);
printf("Enter age: ");
scanf("%d", &(p[i].age));
}
  1. 最后,記得在程序結束時使用free函數釋放動態分配的內存空間:
free(p);

這樣,就可以使用malloc函數在C語言中動態分配結構體數組了。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女