[嵌入式linux] 菜鸟问题,指针类型

[复制链接]
2563|2
 楼主| zl39049979 发表于 2009-9-26 19:04 | 显示全部楼层 |阅读模式
C语言中 void *tmp = NULL;
void show(){}
tmp = (void*)&show;最后一句中加了(VOID*)是什么用?
int a=10;int *b;b=&a这样写也没错,&a前面也没加(INT*),我想问问加了有什么作用
xinzha 发表于 2009-9-26 19:32 | 显示全部楼层
强制类型转换,&show本来应该是个函数指针,这时把它转换成void *类型,这么写是为了代码的可移植性,因为有的编译器会做默认类型转换,而严格些的必须显式做强制类型转换,不加的话会报错。

b本来就是指向int的指针,所以b=&a没有任何歧义,不用加了。
 楼主| zl39049979 发表于 2009-9-26 19:41 | 显示全部楼层
2# xinzha 通俗易懂的讲解,给你三克油
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

32

帖子

0

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