函式指標作為結構體的成員

2021-07-24 16:09:59 字數 616 閱讀 3546

我發乙個執行過的原始碼。

在.h檔案中,有如下**:

//tvm控制狀態

typedef struct _m_tvm_ctrl

m_tvm_ctrl; 

extern m_tvm_ctrl 

tvm_ctrl; 

//控制器

在.c檔案中,有如下**:

//tvm主控制器 

m_tvm_ctrl 

tvm_ctrl= 

//控制器

;get_coin_totva, clr_coinl等都是在.c檔案中存在的函式的函式名。

這樣,就完成了tvm_ctrl這個結構體的函式指標初始化,

接下來就可以方便應用了。

比如我要清空tvm的金額,我只需要寫:tvm_ctrl.clr_coin();即可。

又比如,我要清空某個hopper,只需要寫:tvm_ctrl.clr_hpx();

這樣可以及其方便的管理某些裝置的各個狀態。

你可以把任何乙個外設都定義為乙個結構體,然後在這個裡面包含了該外設的所有執行函式,及狀態變數。從而非常方便的控制該外設。

更好的是,一旦有任何新增功能,只需要在原來的結構體裡面塞函式或者變數就可以了。及其方便維護。

結構體 結構指標作為函式引數

結構體 結構體指標作為函式的引數現在應用的非常廣泛,但一些細微之處還需要引起注意。本文將討論其作為形參和實參的區別。將結構體作為函式的引數,目的是通過 makeinfo 函式呼叫去改變 person 結構體中 letters 的值。情形1 include include struct namect ...

結構體,結構體指標作為函式引數的應用筆記

1.結構體,結構體指標作為函式引數有何區別 include include struct animal 使用結構體作為引數 浪費記憶體 需要建立結構體 void change struct struct animal cat 函式內部改變需要位址 所以需要指標儲存 void change point...

結構體指標訪問成員

結構體指標訪問成員 include struct student int main p stu1 printf 學號 t姓名 t分數 n printf d t s t 0.1f n p num,p name,p score 2.該種方法是定義乙個指標變數,只指向乙個struct student的結構...