c語言 自定義型別 結構體,位段,列舉,聯合

2021-09-01 16:08:49 字數 592 閱讀 2726

1.結構體的宣告:

陣列是一組相同型別元素的集合,當我們想將不同的不同型別的元素組成乙個集合時,則可以用結構體來宣告。

比如,我們想宣告乙個學生的資訊集合:

struct student

;//記得一定要有分號喲!!!!

這時乙個新的型別產生了,名字就叫做 struct student。

其中student是可以省略的,但是編譯器(vs2013)會產生乙個警告。

為什麼呢?

當他失去了名字,我們就無法再之後的**中使用它。如果你就是不想起名字,可以這樣寫:

struct

stu_a;//定義變數stu_a,型別是上面宣告的結構體型別。

stu_a這裡是變數名。區別於上面student的型別名!

那麼如果我們名定義兩個成員完全一樣的結構體型別,他們會有區別嗎?

struct

x;struct

y, *p;

在宣告了這兩個成員完全一樣的結構體後,可不可以執行如下操作:

p=&x;

經過試驗,編譯器(vs2013)報

C語言 自定義型別(結構體 位段 列舉 聯合)

結構體是一些值的集合,這些值稱為成員變數。每個成員可以是不同型別的變數。結構體所佔記憶體大小為其成員所佔記憶體之和。空結構體所佔記憶體大小為1位元組。柔性陣列,結構體最後乙個成員允許是未知大小的陣列,用malloc函式進行動態記憶體分配。結構體的宣告 例如描述乙個學生 struct stu 特殊的宣...

自定義型別 結構體 位段 列舉 聯合

include include include 1 結構體 結構是一些值的集合,這些值稱為結構體成員,結構體的每個成員可以是不同型別的變數 struct stu 結構體的自引用 struct node 錯誤的,結構體內不能包含結構體自身 struct node 正確 指標是四個位元組 結構體內存對齊...

自定義型別 結構體 位段 列舉 聯合

1 結構體基礎知識 定義 不同或相同型別元素的集合 宣告 直接上例子會更清楚 成員 可以是變數 陣列 指標甚至其它結構體成員。struct stu 分號不能丟特殊宣告 匿名結構體型別,並不建議省略結構體型別名,知道有這麼回事就好了 struct x 注意 有n個結構體就有n種型別,即使兩個結構體成員...