結構體是一種複合數據型別,它由不同數據型別的儲存單元組合。例如,學生的成績表上有姓名、專業、學號和沒門功課成績,姓名和專業可以看作是字串型數據,學號是無符號長整型數據,每門功課是單精度浮點型數據,由這些型別複合組成的學生成績單數據型別,就是結構體型別。
在定義結構體型別變數之前,首先需要設計結構體,定義結構體的名稱和成員的數據型別,然後使用結構體說明變數,這時結構體就成爲了一種新的數據結構。定義結構體使用修飾符 struct,它一般形式爲:
struct 結構體名
{
成員列表
};
結構體名是該結構體獨一無二的名稱,命名規則與變數命名相同。成員項列表是結構體中數據成員的數據型別和名稱。數據成員可以是變數、陣列或者其他結構體等複合數據結構。成員項列表的一般形式爲:
數據型別 成員名1;
數據型別 成員名2;
數據型別 成員名3;
...
如下例所示,學生成績單,該結構爲 4 個成員,name[] 和 dept[] 是字元型陣列,用於儲存學生姓名與專業,no 是長整型變數,用於儲存學生的學號,score[]是單精度浮點型陣列,用於儲存學生的成績。
struct student // 結構體名
{
char name[50]; // 姓名
char dept[50]; // 專業
long no; // 學號
float score[4]; // 成績
}