C语言 `void*✀ is not a pointer-to-object type

有初始化 void * 指针的例子么
2025-04-07 13:20:37
推荐回答(3个)
回答1:

可以初始化,但是printf那句还需要写成 *((int*)a)

这样编译器才知道这个地方是需要用整形指针来求值。

回答2:

printf("%d",*a); //这里把一个空指针自动转为int*,编译器转不了,改为:printf("%d",*(int*)a);强制转换

回答3:

这里只是表面的类型,它真实的类型并不是void*,就如同你把int arra[10]强制转换为void**,那么它的每个元素是个void*,只是占位符