結構體中的函式指標

2021-10-01 08:59:32 字數 635 閱讀 1671

大家知道c++是物件導向的語言,有很多優良特性。而在c語言中,我們也可以用結構體類似的實現物件導向。

既然說了用結構體類似的實現某種類,結構體中的變數就可以看做類的變數。實現類的成員函式就要用到函式指標了。

一般的函式指標可以這麼定義:

int

(*func)

(int

,int

);

表示乙個有兩個int引數,返回值為型別int的函式指標。

現在我們實現這個函式

int

add(

int x,

int y)

然後我們只需要在結構體初始化的時候把函式指標指向這個函式。即可完整程式如下:

#include

typedef

struct

tmp;

void

func

(tmp *tmp)

}void

show

(int a)

intmain()

當然這只是乙個簡單的實現,我會用這個方法寫完的微控制器小車程式。

結構體中的函式指標

結構體中指向函式的指標 c語言中的struct是最接近類的概念,但是在c語言的struct中只有成員,不能有函式,但是可以有指向函式的指標,這也就方便了我們使用函式了。舉個例子,如下 include include include typedefstruct student stu void ini...

結構體指標中包含結構體指標

將c 轉化為c的過程中,一些c 的特性無法使用 類內私有變數在類內公共函式中使用,轉化為c的時候選擇用malloc的方式,申請一段記憶體空間去儲存它,在函式中傳指標形參去操作這些變數。這時候遇到乙個問題,結構體中包含了另乙個結構體的指標,這導致了我malloc的時候,另乙個結構體中的記憶體空間沒有申...

結構體指標與結構體中變數的指標

結構體指標與結構體變數指標的區別,在進行實現的工程專案中會有許多地方用到結構體指標的情況,在使用這前都需要先malloc一塊空間之後才能有空間進入儲存資料,例項 如下 include includetypedef struct student student t,pstudent t void pr...