菜鸟警报;
我正在学习C,遇到过void*
我不了解的是,如果我referencing an int variable
和void pointer
在一起,为什么我不能简单地dereference ALSO with a void pointer
。如果需要,我必须进行类型转换。
那么,为什么我要使用void*
开头呢?如果我总是要使用它进行类型转换,就说一个整数。为什么不一直使用int*
代码:
int main()
{
int i = 10;
void* p = &i;
printf("%i", *(int*)p); // typecasting before dereferencing
return 0;
}