正文 第40章 結構體與共用體2(1 / 1)

一個結構體變量隻可以存放一組類型不同的數據,如上述一個structstudent類型的變量隻能存放一個學生的數據,如果要存放多個學生的數據,則必須定義一個結構體數組,其中每個數組元素用於存放一個學生的數據。結構體數組與普通數組的不同在於,其每個元素都為同一結構體類型的數據。結構體數組與一般數組的定義相似,其格式為:

struct結構體類型名數組名[元素個數];

如:structstudenta[10];定義了一個structstudent類型的數組a,數組中有10個元素。

與一般數組一樣,結構體數組可以在定義的同時對每個元素進行初始化,其方法與結構體變量初始化方法相同。如:

structstudents[3]=

{{4325,"zhangfang",19,M},

{3435,"liming",20,F},

{6736,"wugang",21,M}};

對於結構體數組中各元素的引用與普通數組相同,通過下標的方式來引用每個元素,而每個元素的成員通過分量運算符“.”實現,如:s[1].age、s[2].num等。

[例111]計算學生的平均成績和不及格的人數。

structstu

intnum;

charname[15];

charsex;

intscore;

}s[3]={

{1101,"Liping",M,90},

{1202,"Zhangping",M,82},

{1123,"Hefang",F,92}

};

voidmain()

inti,count=0;

floatave,sum=0;

for(i=0;i

structfriend

charname[20];

charphone[10];

};

voidmain()

structfriendf[30];

inti;

for(i=0;i