(1)結構體和枚舉是C++中的構造數據類型。構造數據類型是由基本數據類型按照一定的規則組合
在一起而構成的數據類型。枚舉在C/C++中,是一個被命名的整型常數的集合。
結構體(struct)是由一系列具有相同類型或不同類型的數據構成的數據集合,也叫結構。是一個可以包含不同數據類型的一個結構,它是一種可以自己定義的數據類型。
(2)結構體(struct)的使用
struct test
{
float a;
int b;
};
上面的代碼就定義了一個名爲test的結構體,它的數據類型就是test,它包含兩個成員a和b,成員a的數據類型爲浮點型,成員b的數據類型爲整型。 由於結構體本身就是自定義的數據類型,定義結構體變量的方法和定義普通變量的方法一樣。 只有當你用你定義的結構體類型定義結構體變量的時候計算機纔會分配內存。
test pn1;
這樣就定義了一test結構體數據類型的結構體變量pn1
結構體成員的訪問通過點操作符進行:
(3)枚舉在C/C++中,是一個被命名的整型常數的集合, 枚舉在日常生活中很常見。
enum CMD
{
quit = 0, add = 1, search, sort
};
定義枚舉變量:
CMD cmd;
對枚舉變量賦值:
int input = 0;
cmd = (CMD)input;
也可以這樣賦值:
cmd = quit;
要訪問枚舉變量的值,可以直接使用。
(4)結構體和類的區別,在c++中,結構體沒有成員函數,就是隻有屬性,沒有功能;而類具有成員函數和成員變量。還有一點就是默認訪問屬性不一樣,在結構體中,默認訪問屬性是公有的(public),而類如果不聲明則默認爲私有的(private)。
(5)數組是單一數據類型的數據集合,它本身不是數據類型(而結構體是),數組名稱是常量指針,所以不可以做爲左值進行運算,所以數組之間就不能通過數組名稱相互複製了,即使數據類型和數組大小完全相同。