C語言將函式名作為引數被另外函式呼叫怎麼做

2022-10-07 17:17:58 字數 1322 閱讀 4977

1樓:

樓主已經開始想要知道如何用函式指標了,不錯,好學生,給你個例子#include

int ff(int(*p)(int,int),int a,int b)//原始寫法,閱讀不便

typedef int(*pfun)(int,int);//定義函式指標型別,同時申明瞭原型 返回int 兩個int形參

int f(pfun p,int a,int b) //改進寫法 易懂

int add(int a,int b)

int sub(int a,int b)

void main()

///////////執行結果:

加法函式add被呼叫: 1+2=3

減法函式sub被呼叫: 1-2=-1

加法函式add被呼叫: 1+2=3

減法函式sub被呼叫: 1-2=-1

2樓:風若遠去何人留

要將函式名作為引數,需要使用函式指標。

函式指標的定義格式為

ret_type (*var_name)(arg_list);

表示返回值為ret_type,引數列表為arg_list的函式指標var_name.

如int (*p)(int,int);

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

以函式指標作為形參,即可實現函式名作為引數,由另一個函式呼叫。

如void func(int (*a)(int))即可傳入函式指標,並以r為引數,呼叫該指標指向的函式。

3樓:_____一葉障目

給你看個程式**吧,功能是輸入a、b,然後分別輸出a+b,a-b,找我**改就行~

我編譯器是gcc,你要是vc6,稍微改下就ok~#include

typedef int (*func)(int a, int b);

int add(int x, int y)int sub(int x, int y)int f(int x, int y, func op)int main()

4樓:匿名使用者

用函式指標的方式實現

#include

typedef void (*printfun)(void);

void printok(void)

void testfun(printfun fun)int main()

5樓:匿名使用者

題都說不清楚

你的語文是 體育老師教的?

6樓:匿名使用者

這裡用的技術點是 函式指標

明白了 很簡單的

c語言中函式名就是指標嗎,c語言中函式名就是一個指標嗎

是的。函式 指標就是函式的指標,它是一個指標,指向一個函式。這正如用指標變數可指向整型變數 字元型 陣列一樣,這裡是指向函式。例 a char fun1 char p1,char p2 b char fun2 char p1,char p2 表示式相比,唯一不同的就是函式的返回值型別為char 是個...

c語言程式設計 用陣列名作函式引數,編寫對一維陣列求平均值的

include include include float b float arr,int n 少了函式宣告 void main printf 平均值是回 f b a,n 個函式傳的答是陣列的首地址 float b float arr,int n c sum n return c 函式在前面沒有宣告...

c選擇題陣列名作為函式的引數傳遞的是請舉

答案是b int a 5 a就是數 組名,也是a 5 的第一個 元素即a 0 的地址。include int add int b int main void sum add a add a 這裡傳遞的 內就是陣列a的首容地址,也就是陣列名。b 陣列首元素的地址 這個沒有好舉例的吧 c 就這樣規定的 ...