vlambda博客
学习文章列表

C语言学习指针的秘笈:轻松理解(*(void (*)())t)()


在C语言里,指针的问题觉得很复杂么?学习指针时,是不是常常被星星撞得很晕?比如说:

(*(void (*)())t)() 的含义是什么?

晕菜么?不然,下面和小编一起,轻松搞定它!


先明确“void (*)()”的含义:它表示一个数据类型,这个数据类型是个函数的指针,所指向的函数无参数无返回值。


你怎么知道?如果用“指针的定义形式逆序阅读法”解决,就是小菜一碟!“指针的定义形式逆序阅读法”是新书《C语言其实很简单》里介绍的众多的攻克指针难题的方法之一,是比较独到的方法,一般C书鲜见之

关于该方法书中介绍截图如下:


void (*p)()”什么意思?按照上面的方法,应先读 *,读作p是指针,指向函数(第二对小括号读作“函数”,第二对小括号内为空,说明这样的函数无参数),继续接着读——函数的返回值为void(即无返回值)。


好了,回到开始的问题,“void (*)()”的含义:它表示一个数据类型,这个数据类型是个函数的指针,所指向的函数无参数无返回值。


搞定了吧?!




(二级C语言群):383595657

(综合读者群):321761403

(1)玩转二级Office答疑群⓬:291598504

(2)玩转office二级答疑群:561610987

(3)玩转二级office答疑群⑾:348719553

(4)玩转二级office答疑群⑭:933470742

(5)二级office玩转答疑群⑤:742642048

(6)二级office玩转答疑群:762460187

https://jq.qq.com/?_wv=1027&k=5AG9HCs

(7)玩转二级office学员交流群:906876172

请同学尽量只加一个群,留出空间给其他同学,不要几个群都同时加;然而,老师,或已通过考试希望为其他同学答疑服务的同学,欢迎同时加几个群,并申请管理员,为同学服务!

感谢为大家热心服务的群主、老师和同学们!