我试图理解C代码,在我的一次冥想中,有一个问题是“如何取消引用指向另一种指针的空指针”,我想下一段代码会变得更清晰:
int a,b,*p1,*p2;
void *p;
a=3;
b=6
p1=&a;
p2=&b
p=&p1;
*p=p2 //How I could be able to do this?因此,在上面的代码中,我希望p1的值与使用中间p的p2值相同。
发布于 2014-09-28 02:15:51
不能取消对void *指针的引用。只有在不想取消引用的情况下,它们才能作为中间指针存储使用。(想想malloc。)
在取消引用void *指针之前,必须将其转换为非void类型
*((int * *) p) = p2;会在你的例子中起作用。当然,你必须确保演员阵容是有意义的或者任意的,坏的事情可能会发生。编译器将无法在这里帮助您。
https://stackoverflow.com/questions/26080973
复制相似问题