带有参数的函数,如果通过函数指针调用。
发布网友
发布时间:2022-08-19 13:41
我来回答
共2个回答
热心网友
时间:2023-10-24 16:10
函数指针的声明方法为:
返回值类型 ( * 指针变量名) ([形参列表]);
注1:“返回值类型”说明函数的返回类型,“(指针变量名 )”中的括号不能省,括号改变了运算符的优先级。若省略整体则成为一个函数说明,说明了一个返回的数据类型是指针的函数,后面的“形参列表”表示指针变量指向的函数所带的参数列表。
例子:
#include<stdio.h>
int max(int x,int y){return (x>y? x:y);}
int main()
{
int (*ptr)(int, int);
int a, b, c;
ptr = max;
scanf("%d%d", &a, &b);
c = (*ptr)(a,b);
printf("a=%d, b=%d, max=%d", a, b, c);
return 0;
}
热心网友
时间:2023-10-24 16:11
既然能够给结构体中的指针赋以函数指针,显然这个指针也是一个函数指针,则在调用这个指针时直接传给参数就可以了。
如
typedef void (*Pfun)(double);
struct One
{
Pfun fun;
};
void show(double a)
{
cout<<a<<endl;
}
int main(int argc, char *argv[])
{
Pfun ar = show;
One abc;
abc.fun = ar;
abc.fun(3.0);
}