10

例如,如果我创建了变量:

void helloWorld;

我能用它做什么?因为它代表什么,一开始我以为用它什么也做不了。我知道函数使用 void 来表示没有返回值,但是变量有目的吗?

- 编辑 -

我已经找到了答案。我现在知道 void 变量在 Java、C++ 和 C 等编程语言中是非法的。感谢您的所有回答!

4

5 回答 5

11

void变量在 C/C++ 中无效,因为编译器无法确定它们的大小。void仅作为函数参数列表(不带参数)或返回类型(不返回任何内容)有效。

void *它只是意味着“任何类型的指针”并且是通用指针类型,但您不允许取消引用它。

于 2013-09-09T15:53:59.967 回答
6

C99 6.2.6 第 19 段说:

void类型包含一组空值;它是一个不完整的类型,无法完成。

此外,void在 C 中,是一种没有大小的类型。因此,如果您要声明一个类型为 的变量void,编译器将不知道要为其分配多少内存。
因此,您不能声明void变量,因为它的类型不完整。

void仅在我们讨论指针 ( void*) 时很有用,因为它允许您在不指定类型的情况下声明通用指针。

阅读Keith Thompson给出的答案以获得更详细的解释。

于 2013-09-09T15:54:30.093 回答
3

在 Java 中,不能void用作变量类型。

但是,您可以使用Void

Void 类是一个不可实例化的占位符类,用于保存对表示 Java 关键字 void 的 Class 对象的引用。

除了获取对象之外,您将无法对其进行任何操作Class,但无论如何这是一个static字段,因此您不需要对象引用。

于 2013-09-09T15:54:31.977 回答
1

在 C 中,您可以将函数参数强制转换为 void

(void)myarg;

但是,这仅对处理未使用的参数警告有用。

于 2013-09-12T16:53:34.147 回答
0

我想你不知道什么是“空”???你..

关于 void 的小而快的信息

void 不是用于声明变量的数据类型,如 int 或 char。

void 是返回类型

void 返回类型用于表示我们没有从这个函数返回任何内容。

如果您不返回任何内容,则必须将 void 作为函数(包括主函数)的返回类型编写。或者你可以说....

return 0;

在函数定义的末尾。

我希望这可以帮助您了解什么是无效的。

于 2013-09-10T03:27:09.250 回答