C語言結(jié)構(gòu)體數(shù)組概述
一個結(jié)構(gòu)體變量中可以存放一組有關(guān)聯(lián)的數(shù)據(jù),如一個學(xué)生的學(xué)號、姓名、成績等數(shù)據(jù),如果有10個學(xué)生的數(shù)據(jù)需要參加運算,顯然應(yīng)該用數(shù)組,這就是結(jié)構(gòu)體數(shù)組。
結(jié)構(gòu)體數(shù)組與之前介紹的數(shù)值型數(shù)組的不同之處在于每個數(shù)組元素都是一個結(jié)構(gòu)體類型的數(shù)據(jù),他們都包括各個成員項。
C語言定義結(jié)構(gòu)體數(shù)組
一般形式
struct 結(jié)構(gòu)體名
{成員表列}數(shù)組名[數(shù)組長度];
先聲明一個結(jié)構(gòu)體類型(如struct Person),然后再用此類型定義結(jié)構(gòu)體數(shù)組:結(jié)構(gòu)體類型 數(shù)組名[數(shù)組長度]。
C語言使用結(jié)構(gòu)體數(shù)組注意事項
對結(jié)構(gòu)體數(shù)組初始化的形式是在定義數(shù)組的后面加上:={初值表列};
在定義結(jié)構(gòu)體數(shù)組時進行初始化,為清晰起見,將每個學(xué)生的信息用一對花括號包起來,這樣做,閱讀和檢查比較方便,尤其當(dāng)數(shù)據(jù)量多時,這樣是有好處的。
C語言使用結(jié)構(gòu)體數(shù)組求五個人的平均成績
#include
struct{
char *name;//姓名
float score;//成績
}array[] = {//結(jié)構(gòu)體數(shù)組
{"張三",145.0},
{"李四",130.5},
{"王五",148.5},
{"趙六",139.0},
{"小林",150.0}
};
int main()
{
float sum =0;
for(int i=0; i<5; i++)
{
sum +=array[i].score;
}
printf("平均成績:%.2f\\n", sum/5);
return 0;
}
編譯運行結(jié)果:
平均成績:142.60
--------------------------------
Process exited after0.09937 secondswith return value0
請按任意鍵繼續(xù). . .
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7298瀏覽量
93551 -
C語言
+關(guān)注
關(guān)注
183文章
7634瀏覽量
144151 -
結(jié)構(gòu)
+關(guān)注
關(guān)注
1文章
119瀏覽量
22201
發(fā)布評論請先 登錄
C語言中數(shù)組和結(jié)構(gòu)體的內(nèi)存表示和布局
C語言嵌入式系統(tǒng)編程注意事項
關(guān)于labview傳入?yún)?shù)到DLL結(jié)構(gòu)體
為什么C語言函數(shù)不能返回數(shù)組?
Keil使用結(jié)構(gòu)體數(shù)組的奇怪問題
C語言-學(xué)生管理系統(tǒng)(結(jié)構(gòu)體+數(shù)組實現(xiàn))
AN092GD32MCU GPIO結(jié)構(gòu)與使用注意事項
C程序設(shè)計基礎(chǔ)-數(shù)組與結(jié)構(gòu)體
C程序設(shè)計入門筆記之數(shù)組與結(jié)構(gòu)體

C語言使用結(jié)構(gòu)體數(shù)組注意事項
評論