C语言中,两个指向不同结构体的指针变量可以直接相互赋值吗?如果需要强转的话,强转成被赋值的指针类型和void*有什么区别?
收起
第一个问题,可以相互转换,只不过,你不要想的太复杂,不管是什么结构体指针,它也就是个变量,是变量都可以赋值,假如,两个地址分别是0x1000,0x2000只不过,你赋值之后从0x1000,这时候正常的内存分布,变成了0x2000,内存分布不是你想要的
第二个问题,有区别,void* 只是个空类型,无法通过指针看它的内存分布,而,int*,则表示,内存分布是个int 类型的数
报告相同问题?