指针与函数

函数存储在一段内存中,必然也有地址,就有了指向函数的指针,称之为函数指针。

#include
“stdio.h”

 

int add(int
x,int
y)

{

    return
x + y;

}

 

int main()

{

    int(*pf)(int ,int);

    pf = add;

    int a = (*pf)(1,1);

    printf(“%d\n”,a);


return 0;

}

有了函数指针,我们可以把函数当类似变量来传递了,参见下面的示例

#include
“stdio.h”

 

int add(int
x,int
y)

{

    return
x + y;

}

 

int sub(int
x,int
y)

{

    return
xy;

}

 

int cou(int (*pf)(int,int),int
x,int
y)

{

    return (*pf)(x, y);

}

 

int main()

{

    int a = cou(add, 1, 1);

    int b = cou(sub, 8, 4);

    printf(“%d\n”, a);

    printf(“%d\n”, b);


return 0;

}

 

发表评论

邮箱地址不会被公开。 必填项已用*标注