C說話 構造體數組詳解及示例代碼。本站提示廣大學習愛好者:(C說話 構造體數組詳解及示例代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話 構造體數組詳解及示例代碼正文
所謂構造體數組,是指數組中的每一個元素都是一個構造體。在現實運用中,構造體數組常被用來表現一個具有雷同數據構造的群體,好比一個班的先生、一個車間的職工等。
界說構造體數組和界說構造體變量的方法相似,請看上面的例子:
struct stu{ char *name; //姓名 int num; //學號 int age; //年紀 char group; //地點小組 float score; //成就 }class[5];
表現一個班級有5個先生。
構造體數組在界說的同時也能夠初始化,例如:
struct stu{ char *name; //姓名 int num; //學號 int age; //年紀 char group; //地點小組 float score; //成就 }class[5] = { {"Li ping", 5, 18, 'C', 145.0}, {"Zhang ping", 4, 19, 'A', 130.5}, {"He fang", 1, 18, 'A', 148.5}, {"Cheng ling", 2, 17, 'F', 139.0}, {"Wang ming", 3, 17, 'B', 144.5} };
當對數組中全體元素賦值時,也可不給出數組長度,例如:
struct stu{ char *name; //姓名 int num; //學號 int age; //年紀 char group; //地點小組 float score; //成就 }class[] = { {"Li ping", 5, 18, 'C', 145.0}, {"Zhang ping", 4, 19, 'A', 130.5}, {"He fang", 1, 18, 'A', 148.5}, {"Cheng ling", 2, 17, 'F', 139.0}, {"Wang ming", 3, 17, 'B', 144.5} };
構造體數組的應用也很簡略,例如,獲得 Wang ming 的成就:
class[4].score;
修正 Li ping 的進修小組:
class[0].group = 'B';
【示例】盤算全班先生的總成就、均勻成就和和 140 分以下的人數。
#include <stdio.h> struct{ char *name; //姓名 int num; //學號 int age; //年紀 char group; //地點小組 float score; //成就 }class[] = { {"Li ping", 5, 18, 'C', 145.0}, {"Zhang ping", 4, 19, 'A', 130.5}, {"He fang", 1, 18, 'A', 148.5}, {"Cheng ling", 2, 17, 'F', 139.0}, {"Wang ming", 3, 17, 'B', 144.5} }; int main(){ int i, num_140 = 0; float average, sum = 0; for(i=0; i<5; i++){ sum += class[i].score; if(class[i].score < 140) num_140++; } printf("sum=%.2f\naverage=%.2f\nnum_140=%d\n", sum, sum/5, num_140); return 0; }
運轉成果:
sum=707.50
average=141.50
num_140=2
以上就是對C說話構造體數組的材料整頓,後續持續彌補相干材料,感謝年夜家對本站的支撐!