为了账号安全,请及时绑定邮箱和手机立即绑定

你好,求解释void*(*)(void*)何解?

你好,求解释void*(*)(void*)何解?

繁花如伊 2021-01-20 17:15:40
void*(*)(void*)何解?
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

参数void*(*)(void*)是一个函数指针,前面的void为返回值类型,后面的void*为参数类型。

指向函数的指针变量的一般定义形式为:数据类型(*指针变量名)(函数参数列表)

函数名是可以缺省的,作为参数传递的时候会去调和void*(*)(void*)这个类型相匹配的函数的。

例如:

int func(int x); /* 声明一个函数 */

int (*f) (int x); /* 声明一个函数指针 */

f=func; /* 将func函数的首地址赋给指针f */

或者使用下面的方法将函数地址赋给函数指针:

f = &func;

赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。

扩展资料:

“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。如前所述,C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。

有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是大体一致的。函数指针有两个用途:调用函数和做函数的参数。



查看完整回答
反对 回复 2021-03-23
  • 2 回答
  • 0 关注
  • 287 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信