在C語言中,elemtype
通常與結構體(struct
)一起使用,以描述結構體中各個成員的數據類型。處理復雜數據時,結構體提供了一種靈活的方式來組織和管理不同類型的數據。
以下是一個使用結構體處理復雜數據的示例:
#include <stdio.h>
// 定義一個結構體類型,用于表示一個學生
struct Student {
int id; // 學生ID
char name[20]; // 學生姓名
float score; // 學生成績
struct { // 嵌套結構體,表示學生的課程成績
char course[20]; // 課程名稱
float grade; // 課程成績
} courses[3]; // 假設每個學生最多選修3門課程
};
int main() {
// 創建一個結構體變量,用于存儲學生的信息
struct Student stu;
// 給結構體的成員賦值
stu.id = 1;
strcpy(stu.name, "張三");
stu.score = 90.5;
// 給嵌套結構體的成員賦值
strcpy(stu.courses[0].course, "數學");
stu.courses[0].grade = 95.0;
strcpy(stu.courses[1].course, "英語");
stu.courses[1].grade = 88.0;
strcpy(stu.courses[2].course, "計算機科學");
stu.courses[2].grade = 92.0;
// 輸出學生的信息
printf("學生ID: %d\n", stu.id);
printf("姓名: %s\n", stu.name);
printf("總分: %.2f\n", stu.score);
printf("課程成績:\n");
for (int i = 0; i < 3; i++) {
printf(" %s: %.2f\n", stu.courses[i].course, stu.courses[i].grade);
}
return 0;
}
在這個示例中,我們定義了一個Student
結構體類型,用于表示一個學生。結構體中包含了一個嵌套的結構體數組,用于存儲學生的課程成績。通過這種方式,我們可以靈活地處理復雜的數據結構,如學生的個人信息和課程成績等。