作者:小树苗渴望变成参天大树
作者宣言:认真写好每一篇博客
作者gitee:gitee
如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧!
前言
我相信再大家潜意识里对void的理解解释空类型的意思吧,觉得void的作用并不是那么的多,这篇博客让你充分认识到void的含义以及作用
一、 void 关键字
void通俗的来说和其他的数据类型世同级的,但是void关键字的用法非常多,他也有一些做不到的事情。
void是否可以定义变量?
#include <stdio.h>
#include <windows.h>
int main()
{
void a;
system("pause");
return 0;
}
运行结果:
我们看到void是定义不了变量的,我们知道用数据类型定义变量是为其分配多大的空间,而类型的大小就起到开辟多大空间的作用,那让我们来看看void的大小是多少:
这下我们知道为什么void定义不了变量了吧,这是再vs2019上看到的结果,那我们再vscode的gcc编译器看看结果:
我们看到再gcc编译器上的void的大小是1,为什么还是不可以定义变量呢?
void本身就被编译器视为空类型,强制的不允许定义变量
总结:为何 void 不能定义变量?
定义变量的本质:开辟空间
而void作为空类型,理论上是不应该开辟空间的,即使开了空间,也仅仅作为一个占位符看待,所以,既然无法开辟空间,那么也就无法作为正常变量使用,既然无法使用,编译器干脆不让他定义量。
二、 void修饰函数返回值和参数
场景1:void用来作为函数返回值
test()
{
;