问题在于使用 void 数据类型并给 void 变量赋值。
第二行中pVoid被分配了什么?
#include<stdio.h>
#include<stdlib.h>
int main()
{
void *pVoid;
pVoid = (void*)0;
printf("%lu",sizeof(pVoid));
return 0;
}
第二行中pVoid被分配了什么?
NULL
指针值。另外:与sizeof
一起使用的格式说明符是%zu
。 - Weather VaneNULL
。顺便提一下,在标准C库中,NULL
被定义为(void*)0
。 - Achal