一、枚舉
1.枚舉是用戶定義的一種數據類型,它用關鍵字enum以以下方式來進行聲明;
enum 枚舉類型名字 {名字0,名字1…名字n};
2.我們通常所用的是打括號裏面的文字,他們本身就代表一種數字,是常量符號,數據類型是int,如:
enum color{red,yellow,blue}; enum color t = red;
就創建了三個常量,其中red = 0;yellow = 1;blue = 2;
並使用enum color數據類型定義了t = red;
3. enum 枚舉類型名字 是一種數據類型,如同 int,double 等等;而枚舉量就是裏面的名字可以作爲數字使用;
4. 同時裏面的名字可以自己給他們數值,不一定非得讓他們按照默認順序來,其後面沒有給數值一次比前面的值大一。
二、結構
1.爲什麼使用結構
明確數據關係、簡化對數據塊的操作、簡化參數列表、減少維護;
2.定義:
```cpp
< struct date//聲明1
{
int year;
int month;
int day;
}p1,p2;p1.p2都是date,也相當於today;
struct date//聲明2
{
int year;
int month;
int day;
};
定義;struct date today `
引用:
today.year;
today.month;
today.day;
賦值; today = (struct date){1,2,3};類型強制轉換。
這些引用的東西可以直接作爲變量使用,與int n中的n沒有任何區別>
3.與本地變量一樣,在函數內部聲明只能在函數內部使用,因此我們通常在函數外部對結構進行聲明,使其可以被多個函數使用;
4.其與數組不一樣的是,
它可以賦值,例如;p1 = p2。
結構變量名字並不是結構變量的地址,這跟數組是不同的,若要引用地址,則必須使用&符號;
可以使用p->month 來表示p指向結構裏面的month,裏面的p指的是結構名稱的地址,是指針,*p.month = p->month;
5.結構數組 struct date today[100];
struct date today[] = {{1,2,3},{1,2,3}};方括號裏面默認是2;
6.鑲嵌結構
聲明
struct point
{
int x;
int y;
};
struct rct
{
struct point p1;//前面的是數據類型,後面的是結構名稱
struct point p2;
}
struct rct r ;//定義
r = (struct rct)//賦值,類型強制轉換
{
{1,2},{3,4}
};