Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java void变量可以用于什么?_Java_C++_C_Variables_Void - Fatal编程技术网

Java void变量可以用于什么?

Java void变量可以用于什么?,java,c++,c,variables,void,Java,C++,C,Variables,Void,例如,如果我创建了变量: void helloWorld; 我能用它做什么?因为它不代表什么,一开始我认为它什么也做不了。 我知道函数使用void来表示无返回值,但是变量有用途吗 --编辑-- 我已经找到了答案。我现在知道,在java、C++和C.等编程语言中,空洞变量是非法的,谢谢你们的所有答案!p> void变量在C/C++中无效,因为编译器无法确定它们的大小void仅在函数参数列表(不带参数)或返回类型(不返回任何内容)中有效 有void*,它的意思是“任何类型的指针”,是一种通用指针类

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

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

--编辑--


我已经找到了答案。我现在知道,在java、C++和C.等编程语言中,空洞变量是非法的,谢谢你们的所有答案!p>
void
变量在C/C++中无效,因为编译器无法确定它们的大小
void
仅在函数参数列表(不带参数)或返回类型(不返回任何内容)中有效


void*
,它的意思是“任何类型的指针”,是一种通用指针类型,但不允许取消对它的引用。

C99 6.2.6第19段说:

void类型包含一组空值;这是一份不完整的文件 无法完成的类型

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

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


请阅读提供的以获得更详细的解释。

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

但是,您可以使用

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


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

我想您不知道什么是“void”???你

关于void的小而快速的信息

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

void是一种返回类型

void return type用于表示我们不从该函数返回任何内容

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

return 0;
在函数定义的末尾


我希望这可以帮助您理解什么是void。

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

(void)myarg;

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

这将导致
java
中的编译错误。除非你的意思是
Void
。严格地说Java,
Void
是一个不能用于变量的关键字。尽管如此,
Void
仍然是支持
Void
关键字的不可定义的对象,因为它是一个对象,实际上可以作为一个类型使用;这使得这个问题变得毫无意义。你是对的,它没有意义,这就是为什么你不能这么做。void*主要用作函数原型中的参数,该参数设计为接受指向任何其他类型变量的指针。因此,在C中声明
void helloWorld
变量是可能的(但没有用的)?对您显然使用的标准文档的引用会很好。这个答案并没有声明一个void变量:它计算一个非void变量表达式并将其强制转换为void。我只是试图让
gcc
接受变量声明
void helloWorld
(与表达式
(void)helloWorld
相反,
helloWorld
被声明为非
void
),但失败。@MarnixKlooster;我是在这里读到的。@MarnixKlooster它是无效的,因为1)void是一个不完整的类型(C99 6.2.5§19),2)声明没有链接的标识符必须有一个完整的类型(C99 6.7§7)。另一方面,您可以有一个(完全无用的)声明,例如
externvoid x@Virgile:
extern void x
确实有潜在(不可移植)用途:
&x
可用于获取内联程序集或外部asm文件中asm标签的地址。这反过来有助于从信号处理程序确定保存的程序计数器是否位于两个特定asm标签之间。从形式上讲,它们无效的原因是
void
是一个不完整的类型。@R。。;是的,你是对的。这是因为不完全类型(C99,6·2.6段19),这是任何编程语言(C,C++,爪哇,C,VB.NET,JS,MyTF,脚本语言,PASCAL,COBAL)的情况。几乎所有我知道void类型的地方,我只是问它是否可以用在变量中。我现在差不多已经知道答案了,谢谢你的回答。我将在上面的帖子中宣布我已经得到了答案。。。。