例如,如果我创建了变量:
void helloWorld;
我能用它做什么?因为它代表什么,一开始我以为用它什么也做不了。我知道函数使用 void 来表示没有返回值,但是变量有目的吗?
- 编辑 -
我已经找到了答案。我现在知道 void 变量在 Java、C++ 和 C 等编程语言中是非法的。感谢您的所有回答!
void
变量在 C/C++ 中无效,因为编译器无法确定它们的大小。void
仅作为函数参数列表(不带参数)或返回类型(不返回任何内容)有效。
有void *
它只是意味着“任何类型的指针”并且是通用指针类型,但您不允许取消引用它。
C99 6.2.6 第 19 段说:
void类型包含一组空值;它是一个不完整的类型,无法完成。
此外,void
在 C 中,是一种没有大小的类型。因此,如果您要声明一个类型为 的变量void
,编译器将不知道要为其分配多少内存。
因此,您不能声明void
变量,因为它的类型不完整。
void
仅在我们讨论指针 ( void*
) 时很有用,因为它允许您在不指定类型的情况下声明通用指针。
阅读Keith Thompson给出的答案以获得更详细的解释。
在 Java 中,不能void
用作变量类型。
但是,您可以使用Void
Void 类是一个不可实例化的占位符类,用于保存对表示 Java 关键字 void 的 Class 对象的引用。
除了获取对象之外,您将无法对其进行任何操作Class
,但无论如何这是一个static
字段,因此您不需要对象引用。
在 C 中,您可以将函数参数强制转换为 void
(void)myarg;
但是,这仅对处理未使用的参数警告有用。
我想你不知道什么是“空”???你..
关于 void 的小而快的信息
void 不是用于声明变量的数据类型,如 int 或 char。
void 是返回类型
void 返回类型用于表示我们没有从这个函数返回任何内容。
如果您不返回任何内容,则必须将 void 作为函数(包括主函数)的返回类型编写。或者你可以说....
return 0;
在函数定义的末尾。
我希望这可以帮助您了解什么是无效的。