結構體
為什麼需要結構體
為了表示一些複雜的事物,而普通的基本型別無 法滿足實際需求。
什麼叫結構體
把一些基本型別資料組合在一起形成的乙個新的復合資料型別,這個叫結構體
如何定義結構體
//第一種方式:這只是定義了乙個新的資料型別,並沒有定義變數
struct student
;//第二種方式
struct student2
st2;
//只能定義一次,不能再定義
//第三種方式
struct
//不知道變數是什麼型別
st3;
怎麼使用結構體變數
賦值和初始化
1.初始化,定義的同時賦初值。
2.先定義,定義完之後只能單個賦值
int
main()
//初始化,定義的同時賦初值。
struct student st2;
//定義完之後只能單個賦值
struct student *pst=
&st;
//表示pst可存放這種型別的位址
st.age=10;
pst->age=88;
//在計算機內部會被轉化成(*pst).age,這就是->的含義,也是一種硬性規定,所以pst->age等價於(*pst).age等價於st.age
st2.score=
88.8f
;在c語言中預設是double型別,如果希望乙個實數是floatl型別,則必須在末尾加f或f
st2.***=
'f';
printf
("%d %f %c\n"
,st2.age,st2.score,st2.***)
;}
如何取出結構體變數中的每乙個成員
1.結構體變數名.成員名
2.指標變數名->成員名(常用)
結構體變數的運算
結構體變數不能相加,不能相減,也不能相乘
但結構體變數可以相互賦值
結構體變數和結構體變數指標作為函式引數傳遞的問題
// 結構體變數和結構體變數指標作為函式引數傳遞的問題
void
inputstudent
(struct student *);
//函式宣告
void
outputstudent
(struct student ss)
;int
main()
/*//對stu賦值不能對st賦值,函式載入完就沒有了。本函式錯誤
void inputstudent(struct student stu)
*/void
inputstudent
(struct student * pstu)
//pstu只佔四個位元組
//不修改內容時可不傳指標但是指標速度快,所以推薦用指標傳參
void
outputstudent
(struct student ss)
C語言之結構體
一 什麼是結構體 結構體是不同型別的資料組合成乙個有機整體。例如 學生的學號 姓名 性別 成績 位址 這些都是乙個學生的屬性,把這些屬性組織成乙個組合,組合中包含不同的資料型別,c和c 允許指定這樣的資料型別,稱為結構體。struct student 申明乙個結構體型別 struct是結構體申明的關...
C語言之結構體
在c語言中,可以使用結構體 struct 來存放一組不同型別的資料。結構體的定義形式為 struct 結構體名 結構體是一種集合,它裡面包含了多個變數或陣列,它們的型別可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的成員 member 請看下面的乙個例子 struct stu stu 為結構...
C語言之結構體
在c語言中,有一種型別聽著很任性,叫做自定義型別。顧名思義,這種型別是程式設計師自己定義的一種型別,它和陣列很相似,但也有一些區別。自定義型別包含以下幾種 結構體 列舉 聯合 結構體就是將具有不同或相同的型別放在一起的聚合型別。可能聽著有些像順口溜,上一段 捋一捋。struct peo a 在 中我...