1.理解【void(*)(void)】

引用阅读

如何理解【void(*)(void)】

void(*)(void)  --表示一个返回值为void,没有参数的函数指针
(void(*)(void))--表示【将func这个函数强转成返回值为void,没有参数的函数】的类型转换

测试sizeof(void(*)(void))

#include <stdio.h>
int main(void)
{short x;printf("sizeof(void(*)(void))  = %zu\n", sizeof(void(*)(void)));return 0;
}

2.理解 【(*(void (*)())0)()】

(1) (void (*)())  里面的这个和铺垫的一样,是一个类型转换,表示一个“指向返回值为void类型的函
数的指针”的类型转换;
(2) (void (*)())0  这是表示将常数0转换为“指向返回值为void的函数指针”类型;
(3) 有了(1)和(2)的理解之后,我们就明白,0是一个函数指针,它指向的函数的返回值类型为void,这
样就比较好办了,那我们就按照使用指针变量的方法去理解它。我们使用一个指针变量的时候,前面会带
一个*号,同理,对于这样一个函数指针,我们在调用它的时候。也类似地这么调用,就是(*(void (*)
())0)();这就分析完了.
// 将fun强转成【(void (*)(void)】的类型并且进行调用
#include <stdio.h>
void fun(){printf("xxxxxxxxxxxxx\n");}int main(void)
{(*(void (*)(void))fun)();return 0;
}

【C语言】如何理解【void(*)(void)】相关推荐

  1. c语言函数调用必须声明void,函数声明-czysocket_dara-ChinaUnix博客

    看了C陷阱与缺陷,第一个给我震撼的就是理解函数声明了,下面是我的理解. 1.理解函数声明 为了模拟开机启动时的情形,我们必须设计出一个C语句,以显示调用位于地址0的子例程.调用语句如下: (*(voi ...

  2. C语言再学习 -- 关键字void

    参看:C语言关键字 void 用途: 1.对函数返回的限定,用于强调函数没有返回值.如,void func(int x); 2.对函数参数的限定,用于强调函数没有任何参数.如,int func(voi ...

  3. C语言-函数指针void(*)(void),通用函数指针void(*)()

    一.开始 在阅读代码的时候看到有一段代码,令人有点懵. static void __near VECTOR_TABLE_04H(void){((void(*)(void))(*(__far unsig ...

  4. 解释型语言和编译型语言的区别_从泛型的使用情况看出你对语言的理解程度(2)...

    上篇我们提到:Java中的泛型是不可变的,可以通过<? extends E>实现了泛型的协变,<? super E>实现泛型的逆变.从泛型的使用情况看出你对语言的理解程度(1) ...

  5. 论文浅尝 - ACL2022 | 基于多语言语义解耦表示的跨语言迁移方法实现多语言阅读理解...

    论文作者:吴林娟,天津大学,研究方向为自然语言理解 论文链接:http://arxiv.org/abs/2204.00996 代码地址:https://github.com/wulinjuan/SSD ...

  6. java 变量作用域 c语言_C语言深入理解 - 常量与变量

    ++++++++++++++++++++++++++++++++++++++++++ <C语言深入理解系列 - 常量与变量> 查看其它博文请关注原创作者. 本文系本站原创,欢迎转载! 转载 ...

  7. 图书封面的故事之——“巴别塔”选自《七周七语言:理解多种编程范型》

    我认为,图书的封面很重要,因为首先映入读者眼帘的就是封面,他可以诱发潜在的读者去注意图书,图书的封面可以显示出很多信息,例如书名.推荐语.评价.出版单位等,最重要的还是要给图书起一个好的名字,一本好书 ...

  8. c语言有较强的网络操作功能吗,《对于C语言的理解》--06级网络班 刘丽君

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 对C语言的理解       (刘丽君) 在此之前的半学期里,对于C语言这个概念很模糊.听了老师这堂课总算略见一点端倪. 对于C语言,我的理解正如老师所说的 ...

  9. UC 国际信息流推荐中的多语言内容理解

    导读:本次分享的题目是 UC 国际信息流推荐中的多语言内容理解,讲一下我们在国际信流推荐场景下的多语言内容理解方面的一些工作和思考,主要分为: 多语言内容理解的需求和挑战 多语言内容结构化信号建设方法 ...

最新文章

  1. Visual Entity 下载列表(最新版为 2.0.0 ,已支持Visual Studio 2013)
  2. Unknown lifecycle phase mvn
  3. 实现费用管理 mysql_电信资费管理系统的设计与实现(NetBeans,MySQL)
  4. android view 转Bitmap 生成截图
  5. 聊聊flink的Tumbling Window
  6. 关于自动驾驶的思考以及我准备做的事情
  7. chartcontrol饼状图属性设置_温故而知新,ggplot2 饼图的几点笔记
  8. python绘制柱状图,如何改变柱状柱间距,如何设置横纵轴标签(绘制Intel Realsense D435深度误差柱状图)
  9. 良/恶性乳腺癌肿瘤预测
  10. Flutter for Web 详细预研
  11. javascript变量提升/函数提升
  12. 外设键盘_记得那个被称为‘顶级外设’的国产品牌吗,现在推出这样一把键盘...
  13. 腾讯:干掉头条,先拿抖音开刀!
  14. 60 秒短信验证背后的危险
  15. UMl user guide读书笔记
  16. VirtualBox中,Windows虚拟机与主机共享文件夹不能用之一例
  17. 把小写金额转成大写金额 (Java经典编程案例)
  18. Teams通话质量仪表盘进阶使用
  19. 哪个dns服务器延迟最低,可以立即测出延迟最小的DNS
  20. [翻译]pb技巧、代码和实用工具[程序员家园论坛]

热门文章

  1. springboot和flink 大数据实时写入hdfs
  2. C语言在中math.h中sqrt()函数的使用
  3. 爬虫练习:爬取网页数据
  4. CTO应具备的知识体系
  5. c语言双截龙_双截龙出招表
  6. 推进网络强国建设,筑牢网络安全屏障
  7. 陕西省职业计算机考试试题,2010陕西省计算机等级考试试题 二级C试题最新考试试题库...
  8. k4-使用百度账号-登陆本系统-操作指南
  9. Maven的下载以及安装
  10. 红米note4x开启root权限