Tak*_*1n1 8 c c++ java variables void
例如,如果我创建变量:
void helloWorld;
Run Code Online (Sandbox Code Playgroud)
我该怎么办?因为它什么都不代表,起初我认为没有什么可以用它做的.我知道函数使用void没有返回值,但变量有用吗?
- 编辑 -
我找到了答案.我现在知道在Java,C++和C等编程语言中,void变量是非法的.感谢您的所有答案!
Ser*_* L. 10
void变量在C/C++中无效,因为编译器无法确定它们的大小.void仅作为函数参数列表(不带参数)或返回类型(不返回任何内容)有效.
有void *这只是意味着"任何类型的指针",是一个普通的指针类型,但你不能取消对它的引用.
C99 6.2.6第19段说:
所述空隙类型包括一个空的一组值; 它是一种不完整的类型,无法完成.
此外,void在C中,是一种没有大小的类型.因此,如果要声明类型的变量void,编译器将不知道要为其分配多少内存.
因此,您无法声明void变量,因为它的类型不完整.
void当我们讨论指针(void*)时它很有用,因为它允许你声明一个通用指针而不指定类型.
请阅读Keith Thompson给出的答案,以获得更详细的解释.