關於C語言函式指標實現部分面相對

2021-06-26 15:10:02 字數 1000 閱讀 3967

其實很早就知道這樣的概念,只是今天想著來實現一下。首先來理解一下函式指標的定義。對於乙個函式原型為

int 

push(lnode 

*node, 

int 

data); 

那麼我們定義函式指標應該為

int 

(*p)(lnode 

*node, 

int 

data);//定義乙個

函式指標,該指標指向帶lnode指標型別和int型別的兩個形參,並

返回int型別的值。

這裡要注意一點一定要加(*p)如果不加括號則變成了定義乙個函式。

int 

*p(lnode 

*node, 

int 

data);//定義乙個

函式,該函式帶有lnode指標型別和int型別的兩個形參,並返回

int指標型別的值。

如果我們要定義乙個返回指標型別的函式指標呢?

int *(*p)(lnode *node,int data);//定義乙個

函式指標,該函式指標帶有lnode指標型別和int型別的兩個形參,並且返回

int指標型別的值。

到這裡應該很清楚函式指標定義的技巧了把?

總結:定義函式指標即int/void/char/int*/struct/struct*+(*name)+(形參列表);

那麼正題來了。如何在結構體中實現部分物件導向的功能呢?很簡單。在結構體中定義函式指標。然後在指向對應函式。最後進行呼叫就ok啦。 例:

typedef structnode;

初始化:

int flag;//表示函式返回狀態

int arr=;

node node;

node=;//結構體函式指標初始化。

flag=node.del(node.elem);//呼叫結構體中定義的函式指標。

本次內容就到此為止了。

複製去google翻譯

.elem

c語言陣列實現ArrayList部分函式

include include 包含malloc函式 include 包含exit函式 定義乙個資料型別,該資料型別的名字叫做struct array,該資料型別含有三個成員,分別是 pbase len cnt struct array arraylist方法的實現 void init array ...

c語言 陣列及指標部分

prac1 實現從鍵盤任意輸入10個整數,用函式程式設計實現將其中最大數與最小數的位置對換後,再輸出調整後的陣列。include define arrsize 10 voidmaxminexchang inta,intn elseif a i minvalue temp a maxpos a max...

C語言 指標函式和函式指標

指標函式和函式指標 指標函式其實是乙個簡稱,是指帶指標的函式,它本質上是乙個函式,只是返回的是某種型別的指標。其定義的格式為 型別識別符號 函式名 參數列 函式指標,從本質上說是乙個指標,只是它指向的不是一般的變數,而是乙個函式。因為每個函式都有乙個入口位址,函式指標指向的就是函式的入口位址。其定義...