c++自定義的資料型別:列舉型別、結構型別、聯合型別、陣列型別、類型別。
c++的enum提供了一種建立符號常量的方式,可以代替const!
# 宣告形式
enum 列舉型別名字
for example:
enum weekday
;
對列舉量按照常量(const)處理,不能對它們賦值。比如sun=0
是非法語句。
列舉型別可以在宣告時定義列舉量的值(必須是整數),如
enum weekday
;
定義sun為7,mon為1,以後順序+1,sat=6
列舉型別可以建立多個值相同的列舉量
enum
;
其中zero
和null
都為0,one
和umero_uno
都為1。
在c++早期版本中,只能將int值賦給列舉量,這種限制被取消了,現在可以使用long型別
列舉型別可以進行關係運算
可以通過 強制轉換 給列舉變數賦值,每個列舉都有取值範圍,通過強制型別轉換,可以將取值範圍中任何整數值賦給列舉變數。 比如:
enum bits
;bits myflag;
myflag=
bits(6
);
其中6不是列舉值,但是位於列舉定義的範圍之內。
賦值語句也可以寫成myflag=static_cast(6)
取值範圍,上限:比最大值大的2的冪,下限:比最小值小的2的冪(包括負數)
結構體是一種特殊形態的類,有自己的資料成員和函式成員,可以有自己的建構函式和析構函式,可以控制訪問許可權,可以繼承,包含多型等。
struct
;
struct point
point1,point2;
struct point
point=
;
struct
position;
struct torgle
;
用一般方法初始化
torgle tr=;
聯合體(union)是一種資料型別,能夠儲存不同的資料型別,但只能同時儲存其中的一種型別。聯合體是一種特殊形態的類,有自己的資料成員和函式成員,可以有自己的建構函式和析構函式,可以控制訪問權。與結構體一樣,從c繼承而來,預設訪問控制屬性為共有類。
聯合體的全部資料成員共享一組記憶體單元
語法格式:
union 聯合體名稱
;
union
i=10;f=
2.2;
struct student};
student daming,lili;
daming.id=
1232
;lili.id_char=
"xx44123"
;
結構體 聯合體 列舉
1 結構體struct 結構體的作用 在網路協議 通訊控制 嵌入式系統的c c 程式設計中,我們要傳送的不是簡單的位元組流 char型陣列 二是多種資料組合起來的乙個整體,其表現形式是乙個結構體。使用struct的注意事項 1 下面看乙個題目 結果 6 12 這裡涉及到結構體的記憶體對齊方式。1 關...
結構體 聯合體 列舉
結構體 1.宣告乙個結構體型別的一般形式為 struct 結構體名 成員表列 如 struct student 表示可選項 注 宣告不是定義,故不可對成員列表中的成員進行初始化。定義別名 方法一 如 struct 結構體名 typedef struct 結構體名 別名 方法二 如 typedef s...
C 結構體 聯合體
結構體是特殊形態的類,與類的區別 結構體的預設訪問許可權是public,也就是說當你建立資料成員的時候,預設是屬於public類,存在的主要原因 與c語言保持相容。結構體 struct 學生資訊 include include include using namespace std struct s...