找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1347|回复: 0

(void (*)(void))abc

[复制链接]

96

主题

6

回帖

108

积分

屌炸天

积分
108
发表于 2017-9-23 14:30:10 | 显示全部楼层 |阅读模式
http://blog.163.com/huangwei820410@126/blog/static/240704922009629101127567/
void (*run)(void) = (void (*)(void))0x0;

这句话什么意思阿,没见过这样的阿
网友回复:定义了一个不带参数和返回值的函数指针run ,同时对它进行初始化。指向了内存的0号单元。

网友回复:run是一个指向返回值和参数都为空的函数的指针,0x0就是0,这个赋值就是将地址0强制转换为返回值和参数都为空的函数的地址赋给run。
网友回复:严重同意楼上两位
网友回复: (void (*)(void))0x0;这句看不懂
网友回复: (void (*)(void))0x0;这句看不懂

------------------------------------

进行强制转换.就好象(char *)str一样
网友回复:void (*run)(void)与void (*)(void)有什么区别呢
只是差个名称
对于类型来说本身叫什么就没必要
void (*)(void) 就是函数指针,它是个类型说明
网友回复:继续细化
void (*)(void)

(*) --我是函数指针
(void)-不需要传给我参数
void --我的返回类型为空


------------------
void (*run)(void)


(*run) --我是函数指针 ,我叫run
(void)-不需要传给我参数
void --我的返回类型为空

你可以这么看typedef void (*run)(void) 然后run a = (run)0x00; 这样总能理解了吧


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Comsenz Inc. ( 粤ICP备15088888号-2 )

GMT+8, 2024-4-26 14:29 , Processed in 0.103050 second(s), 10 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表