資源描述:
《c語言結(jié)構(gòu)體數(shù)組介紹》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、C語言結(jié)構(gòu)體數(shù)組介紹數(shù)組的元素也可以是結(jié)構(gòu)類型的。因此可以構(gòu)成結(jié)構(gòu)型數(shù)組。結(jié)構(gòu)數(shù)組的每一個元素都是具有相同結(jié)構(gòu)類型的下標結(jié)構(gòu)變量。在實際應(yīng)用中,經(jīng)常用結(jié)構(gòu)數(shù)組來表示具有相同數(shù)據(jù)結(jié)構(gòu)的一個群體。如一個班的學生檔案,一個車間職工的工資表等。方法和結(jié)構(gòu)變量相似,只需說明它為數(shù)組類型即可。例如:1.structstu{2.intnum;3.char*name;4.charsex;5.floatscore;6.}boy[5];定義了一個結(jié)構(gòu)數(shù)組boy,共有5個元素,boy[0]~boy[4]。每個數(shù)組元素都具有structstu的結(jié)構(gòu)形式。對結(jié)構(gòu)
2、數(shù)組可以作初始化賦值。例如:1.structstu{2.intnum;1.char*name;2.charsex;3.floatscore;4.}boy[5]={5.{101,"Liping","M",45},6.{102,"Zhangping","M",62.5},7.{103,"Hefang","F",92.5},8.{104,"Chengling","F",87},9.{105,"Wangming","M",58};10.}當對全部元素作初始化賦值時,也可不給出數(shù)組長度。計算學生的平均成績和不及格的人數(shù)。1.structstu{2
3、.intnum;3.char*name;4.charsex;5.floatscore;6.}boy[5]={7.{101,"Liping",'M',45},8.{102,"Zhangping",'M',62.5},1.{103,"Hefang",'F',92.5},2.{104,"Chengling",'F',87},3.{105,"Wangming",'M',58}4.};5.main(){6.inti,c=0;7.floatave,s=0;8.for(i=0;i<5;i++){9.s+=boy[i].score;10.if(boy[
4、i].score<60)c+=1;11.}12.printf("s=%f",s);13.ave=s/5;14.printf("average=%fcount=%d",ave,c);15.}本例程序中定義了一個外部結(jié)構(gòu)數(shù)組boy,共5個元素,并作了初始化賦值。在main函數(shù)中用for語句逐個累加各元素的score成員值存于s之中,如score的值小于60(不及格)即計數(shù)器C加1,循環(huán)完畢后計算平均成績,并輸出全班總分,平均分及不及格人數(shù)。建立同學通訊錄1.#include"stdio.h"2.#defineNUM33.stru
5、ctmem{4.charname[20];5.charphone[10];6.};7.main(){8.structmemman[NUM];9.inti;10.for(i=0;i6、t%s",man[i].name,man[i].phone);19.}本程序中定義了一個結(jié)構(gòu)mem,它有兩個成員name和phone用來表示姓名和電話號碼。在主函數(shù)中定義man為具有mem類型的結(jié)構(gòu)數(shù)組。在for語句中,用gets函數(shù)分別輸入各個元素中兩個成員的值。然后又在for語句中用printf語句輸出各元素中兩個成員值。