C語言結構體數組是一種數據類型,它可以用來存儲多個相同類型的結構體變量。結構體是一種用戶自定義的數據類型,它可以包含多個不同類型的數據成員。
定義結構體數組需要先定義結構體類型,然后聲明數組變量并指定數組大小。
以下是定義結構體數組的詳細步驟:
struct Student {
int id;
char name[20];
int age;
};
struct Student students[10];
上述代碼定義了一個名為students的結構體數組,大小為10,可以存儲10個Student類型的結構體變量。
結構體數組可以通過下標訪問和修改其中的元素。下標從0開始,最大值為數組大小減1。
// 訪問結構體數組元素
students[0].id = 1001;
strcpy(students[0].name, "John");
students[0].age = 20;
// 修改結構體數組元素
students[1].id = 1002;
strcpy(students[1].name, "Mike");
students[1].age = 21;
上述代碼將結構體數組中的第一個元素的id設置為1001,name設置為"John",age設置為20。將結構體數組中的第二個元素的id設置為1002,name設置為"Mike",age設置為21。
結構體數組可以通過循環遍歷來訪問和修改所有元素:
for (int i = 0; i < 10; i++) {
printf("ID: %d\n", students[i].id);
printf("Name: %s\n", students[i].name);
printf("Age: %d\n", students[i].age);
printf("\n");
}
上述代碼使用循環遍歷輸出結構體數組中的所有元素的id、name和age。
結構體數組的定義和使用可以方便地存儲和操作多個相同類型的結構體變量。