2014-02-21 102 views
0

MonkeyStruct *mnkS = (MonkeyStruct*)malloc(sizeof(MonkeyStruct)); void *vS = (void *)mnkS; ManStruct * manS = (ManStruct *)vS;铸造结构指针到void

是否有必要在上面的代码段投mnkS作废第一然后分配在作废
或我们可以简单地做void *vS=mnkS

回答

1

void指针可以被分配到任何数据类型。

void *ptr; // ptr is declared as Void pointer 
char cn; 
int in; 
float fn; 
ptr = &cn; // ptr has address of character data 
ptr = ∈ // ptr has address of integer data 
ptr = &fn; // ptr has address of float data 

因此,你可以指定

void *vS=mnkS 

没有铸造。