首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

高手帮忙,(void*)&st1,该如何解决

2012-03-14 
高手帮忙,(void*)&st1在一个函数的参数里,有一个参数是(void*)&st1,st1是一个结构体指针。在另一个函数的参

高手帮忙,(void*)&st1
在一个函数的参数里,有一个参数是(void*)&st1,   st1   是一个结构体指针。
在另一个函数的参数里,有一个参数是(void*)st2,st2是一个结构体名。
如:
struct{
...
}st;
st   *st1,st2;
请问两个参数有什么区别吗?具体解释一下,谢谢了!

[解决办法]
(void*)&st1 代表的是一个VOID的指针指向该结构体
(void*)st2 将一个结构体指针强制转化为一个VOID型
[解决办法]
两个参数的类型都是 vooid *

但是他们的意义不同,
st1 本身是指针,所以 (void*)&st1 是将 st1取地址后转换为 void *,是从二级指针来的,
在参数所在函数中使用的时候需要进行指针解引用操作;
st2 没有取地址,本身也不是指针,可以直接访问

热点排行