基本的int
、char
、float
、double
型別無法滿足解決問題的要求時,結構體是解決問題的方法之一。
結構體其實就是一種資料結構,結構體支援使用者利用基本資料型別組合而成。注意:結構體型別不是c中一種新的資料型別,它只是將基本資料型別組裝起來,變得更大了而已。
使用結構體可以簡化**量,提高**維護效率。
問題:a班上有4名學生,本學期一共學習了三門課。現在需要將學生姓名和該學生的成績記錄下來,並將記錄結果列印輸出。請程式設計解決問題。
分析:分析物件是學生,學生有姓名(char
型別)、成績(int
型別)。如果我們使用二維字元陣列記錄學生名字,用二維整型陣列記錄學生成績,是否可行?
當然,僅僅作為記錄這種想法肯定是沒有問題,但是將記錄列印出來就不可行了。這種解決方法割裂了學生和成績的關係。
這時候可以考慮使用結構體,結構體變數包含char型別用於儲存學生姓名,int陣列用於儲存學生成績。
**如下:
# include # include #define stu_num 4
#define subject 3
typedef struct
student;
int main ()
for (int j = 0; j < stu_num ; j++)
return 0;
}
**執行結果如下:
擴充套件:當學生數量增加,學習科目增加,我們只需小小改動就可以解決。
#define stu_num 4 //可以根據需要修改學生數量
#define subject 3 //可以根據需要修改科目數量
結構體的使用
題目現有4 個學生,每個學生包含學號 三門課成績和平均成績等 4個資訊。首先輸入各位學生的學號 三門課成績 然後計算出每個學生的平均成績 最後輸入乙個學號,當該學號存在時,輸出對應學生的所有資訊,否則,輸出 該學號學生不存在!程式運 況 第一步,輸出兩行提示資訊 請依次輸入 4位學生資訊 學號 成績...
結構體的使用
c語言中新的資料型別 整型 123 浮點型別 小數 字元型別 字元 asfg 陣列也是一種型別 結構體 型別 整數類 int 1,2,3,4.人類 結構體 struct person 人類 需要名字 動物類 結構體 struct anim 動物類 汽車類 結構體 struct car 汽車類 電腦類...
結構體的使用
結構體的定義 typedef struct tsegxdata tseg struct 是結構體型別的標誌,是關鍵字。兩個結構體標識名的位置 1.struct a 2.struct b 不同在1是名字叫a的結構體,而2只是定義了乙個結構體型別的b變數,也就是如果還想定義其他的變數,1比較方便,如st...