結構體聲明
結構體定義
結構體應用
結構體與數組
結構體也屬於構造類型。結構體比數組更加靈活,可以存放不同類型的變量。
結構體是由若干成員組成的,成員既可以是基本數據類型,又可以是構造類型,比如數組。
結構體屬於自定義數據類型。
1.結構體聲明:
struct
結構體名
{
類型說明符 成員名;
…;
類型說明符 成員名;
};//注意此處分號不能少。
結構體是自定義類型,結構體變量是由結構體類型修飾的變量。
定義結構體變量
struct
結構體名 變量名 ={初值};
結構體成員訪問
結構體成員的表示形式
結構體變量
.成員
typedef爲現有的類型創建一個新的名字,或成爲類型別名,
typedef
原類型 新類型
typedef
int Integer
這樣 int
a =10;
可以寫成
Integer a = 10;
結構體變量可以直接賦值。
注意:
雖然數組和結構體都屬於構造類型,但是結構體變量能直接賦值,數組不能直接賦值。
小技巧:
可以通過把數組放在結構體內實現數組的直接賦值。
結構體內存佔用
結構體所佔的空間可以簡單的認爲是各個成員所佔內存的空間之和。
實際上是最大成員變量所佔空間的最小整數倍。
當數組這種構造類型的數據整體所佔的字節數大於結構體成員變量中最大的數據類型所佔的字節數時,數組就會拆分對齊。
計算機中內存對齊原則的本質就是爲了cpu能夠高效的通過地址訪問相關內存。
結構體嵌套
結構體的成員仍然可以是結構體。
結構體數組
可以將多個結構體變量放到數組中,構成結構體數組。
例如:struct
stu students[10]
可以通過下標可以訪問每個結構體變量。
結構體
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
磁盤空間不足-改註冊表
zongxn
2019-02-23 13:41:43
關於VMware 虛擬機磁盤類型和區別
Dreams小強
2019-02-23 13:26:36
免費空間
msr520530512
2019-02-23 13:20:48
我的家園互動平臺空間
hainuo
2019-02-23 13:07:39
Mysqldump參數大全
粉魚兒
2019-02-23 00:41:20
linux socket服務器框架
947154267yjn
2019-02-23 00:37:26
ESXI精簡模式虛擬磁盤空間釋放
瘋狂小二丶
2019-02-23 00:33:45
Lintcode6 Merge Two Sorted Arrays solution 題解
coderer
2019-02-23 00:24:31
微距攝影昆蟲拍攝技巧
ziji24
2019-02-23 13:25:32
去除RMVB的內嵌字幕方法
當鋪老闆
2019-02-23 13:13:15