【发布时间】:2017-04-01 12:08:48
【问题描述】:
我一直在从函数参数中获取函数指针。 这是我正在尝试做的一个示例。
int a(int I)
{
return I*I;
}
void get_a(int(*R)(int))
{
R = &a;
}
int main()
{
int(*function)(int) = NULL;
printf("function a=%p\n", a);
get_a(function);
printf("function a=%p\n", &function); // Is never the right address.
return 0;
}
网上搜了也没用,只能找到传函数作为参数的例子,所以放弃尝试自己解决这个问题。
【问题讨论】:
-
这与“如何从函数参数中检索 int”没有什么不同。先解决这个问题,你也会明白这个问题的。
-
你的函数 get_a() 什么都不做,因为它所做的只是分配给一个局部变量,然后什么也不返回。一个好的编译器甚至可以完全优化它。
标签: c function pointers arguments