結構體是一種自定義類型,它允許程序員將不同類型的數(shù)據(jù)項組合在一起,形成一個新的數(shù)據(jù)類型。結構體類型是通過 struct 關鍵字來定義的。
1.結構體類型的定義
結構體類型定義的一般形式為:
struct 結構體標簽 { 成員1類型 成員1名; 成員2類型 成員2名; ……};
其中,結構體標簽是這個結構體類型的名稱,成員類型表示每個數(shù)據(jù)項的數(shù)據(jù)類型,成員名則是每個數(shù)據(jù)項的名稱。
2.結構體類型和結構體變量的區(qū)別
結構體類型只是定義了一種新的數(shù)據(jù)類型,而結構體變量則是根據(jù)這個數(shù)據(jù)類型定義的實際變量??梢园呀Y構體類型看成是一個模板或者藍圖,而結構體變量則是基于這個模板創(chuàng)建的具體對象。
例如,假設現(xiàn)在要定義一個描述學生信息的結構體,那么就可以定義以下結構體類型:
struct Student { char name[20]; int age; char gender;};
在上面的結構體類型中,Student 是這個結構體類型的標簽;name、age、gender 分別是成員的名稱;char 和 int 則是成員的類型。
定義好結構體類型之后,就可以定義以下結構體變量:
struct Student stu1;struct Student stu2;
其中,stu1 和 stu2 都是基于 Student 結構體類型定義的實際變量。這些變量可以像普通變量一樣被使用,例如:
strcpy(stu1.name, "小明");stu1.age = 18;stu1.gender = 'M';
以上代碼向 stu1 這個學生信息變量中賦值。