C语言能通过函数的地址调用函数吗?
比如说我intfun()..定义了一个函数然后用&fun取到地址,可以通过这个地址调用这个函数吗?...
比如说我int fun()..定义了一个函数
然后用&fun取到地址,可以通过这个地址调用这个函数吗? 展开
然后用&fun取到地址,可以通过这个地址调用这个函数吗? 展开
2015-09-16 · 知道合伙人软件行家
关注
展开全部
当然可以通过函数的地址调用函数(有专门的函数指针),但不是&fun这样取法。
正确的取法:
#include<stdio.h>
void F(int i)
{
printf("F函数被调用!%d\n",i);
}
int main()
{
typedef void (*Fun)(int);
Fun ff=F;//这样取法,不用加&号。
ff(3);
//以下跟以上意思一致。
void (*func)(int)=F;
func(4);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以通过函数指针(也就是你说的函数地址)调用,可以这样使用:
#include <stdio.h>
int fun(int a)
{
printf("a = %d\n", a);
printf("hello world\n");
}
int main()
{
int (*pFun)(int a);
pFun = fun;
(*pFun)(123);
return 0;
}
输出结果:
123
hello world
#include <stdio.h>
int fun(int a)
{
printf("a = %d\n", a);
printf("hello world\n");
}
int main()
{
int (*pFun)(int a);
pFun = fun;
(*pFun)(123);
return 0;
}
输出结果:
123
hello world
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询