1. 程式人生 > >C語言-函式指標

C語言-函式指標

1 函式指標
函式原型:

int sum(int a, int b);

函式指標:

int (*psum)(int,int)=sum;

通過函式指標呼叫函式:

int result=psum(20,30);

2 函式指標陣列
要宣告函式指標陣列,需要將陣列大小放在函式指標陣列名之後。
例子:

#include<stdion.h>

int sum(int,int);
int product(int,int);

int main(void)
{
    int a=10;
    int b=20;
    int (*pfun[2])(int,int);

    pfun[0
]=sum; pfun[1]=product; printf("%d \n",pfun[0](a,b)); printf("%d \n",pfun[1](a,b)); return 0; } int sum(int a,int b) { return a+b; } int product(int a,int b) { return a*b; } //輸出結果 30 200

3 作為變元的函式指標
將函式指標作為變元來傳遞,可以根據指標所指向的函式,而呼叫不同的函式。

#include<stdion.h>

int sum(int,int
); int product(int,int); int any_fun(int (*pfun)(int,int),int,int); int main(void) { int a=10; int b=20; int result=0; int (*pf[2])(int,int); pf[0]=sum; pf[1]=product; printf("%d \n",any_fun(pf[0],a,b)); printf("%d \n",any_fun(pf[1],a,b)); return 0; } int sum(int a,int
b) { return a+b; } int product(int a,int b) { return a*b; } int any_fun(int (*pfun)(int,int),int x,int y) { return pfun(x,y); } //輸出結果 30 200