C51里的这句看不懂

[复制链接]
3249|9
 楼主| lxrlxr 发表于 2008-1-6 16:36 | 显示全部楼层 |阅读模式
((void (code*) (void)) 0x0033)();

是什么意思?
mohanwei 发表于 2008-1-6 17:20 | 显示全部楼层

调用函数,函数绝对地址是0x0033

原野之狼 发表于 2008-1-6 19:02 | 显示全部楼层

楼主给的语句似乎有些问题。。。

通过函数指针来调用函数。
貌似少了一个*
machunshui 发表于 2008-1-6 19:35 | 显示全部楼层

这样理解


整个式子意思如2楼所说:
调用函数,函数绝对地址是0x0033

这样转换一下,看得更清楚:
void (code* func) (void);//定义函数指针
func = (void (code*))0x0033;//强制转换赋值
func();//调用
Swd21ic 发表于 2008-1-6 20:11 | 显示全部楼层

~~~

少了*吗? 好象就这样吧
qihao 发表于 2008-1-6 22:42 | 显示全部楼层

真不明白咋把程序写成了这样!

是不是科班的都这样?!
wlsui 发表于 2008-1-7 00:00 | 显示全部楼层

作为函数,有*没*都一样的

甚至再加两个*也一样的,只要你愿意
computer00 发表于 2008-1-7 00:19 | 显示全部楼层

哈哈,加100个都没问题~~~

yongzai 发表于 2011-5-4 11:46 | 显示全部楼层
看不懂啊
joyme 发表于 2011-5-4 12:36 | 显示全部楼层
确实没必要这么写,考试可以,做项目还是不要这么做啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

110

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部