C語言基礎之結構體應用

2021-08-14 01:45:53 字數 1371 閱讀 2276

列舉經常用來定義意義相關的函式,比如星期、方位等,也經常用在狀態機當中;就是巨集定義常數的集合體,列舉中元素的本質也是乙個個的數字

如下例:

#include 

typedef

enum fangxiang // 識別符號

e;int main(void)

輸出是0和101,enum是定義列舉型別的關鍵字

列舉的應用,密碼鎖:

#include 

typedef

enum fangxiang // 識別符號

e;//定義狀態機的所有狀態集

typedef

enum state

s;int main(void)

else

break;

case state2:

if (num == 5)

else

break;

case state3:

if (num == 2)

else

break;

case state4:

if (num == 7)

else

break;

default:

current_state = state1;

break;

}if (current_state == state5)

if (current_state == state1)

}return

0;}

使用列舉設計了乙個狀態機的跳轉,實現了密碼鎖的功能;可以看到,列舉的定義與使用與結構體十分類似

#include 

typedef

int (*p_func)(int a, int b); //這句也可以寫進結構體

int add(int a, int b)

//結構體各成員預設是public

//class在c++裡,是乙個類,所有成員和方法(函式)是si(private)有的,只能在類裡進行訪問

//struct裡面不能包含函式,但是可以包含函式指標

struct data

s;//填充結構體

void set_func(struct data *p)

//業務函式

int cnt_func(struct data *p_str)

int main(void)

雖然此程式實現的功能只是乙個加法運算,但用到了結構體的定義,結構體賦值,結構體運算,結構體裡指標的應用,所以值得繼續揣摩

c語言基礎 結構體

結構體也是一種資料型別 這種資料型別裡面可以定義不同的資料型別的資料,是一種使用者自定義的資料型別 當然結構體裡面可以巢狀陣列和結構體 結構體的定義 struct 結構體名 注意 結構體的命名用駝峰法 每乙個成員變數後面要加上 在最後的 後面要加上 結構體變數的定義 struct 結構體名 結構體變...

c語言基礎 結構體

在c語言中,可以使用結構體 struct 來存放一組不同型別的資料。結構體的定義形式為 struct 結構體名 變數名表列 結構體是一種集合,它裡面包含了多個變數或陣列,它們的型別可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的成員 member 請看下面的乙個例子 struct stu 像...

C語言基礎 C語言結構體 4 結構體陣列

上一節,我們講解了一下結構體的定義方式,作用域,以及注意事項,這次我們來講解結構體陣列.有些人疑問,結構體也有陣列啊?這是肯定的,其實結構體陣列非常常用,下面我們來看乙個需求示意圖 按照上圖所示,如果我們要求這樣子輸出,我們就要有幾個不同型別的陣列才能完成,但如果有了結構體,我們就可以非常簡單的完成...