发新帖我要提问
123
返回列表
打印
[学习资料]

探讨一个C语言void的问题

[复制链接]
楼主: 598330983
手机看帖
扫描二维码
随时随地手机跟帖
41
dw772| | 2025-2-20 09:51 | 只看该作者 回帖奖励 |倒序浏览
wahahaheihei 发表于 2024-3-31 13:10
是的,我也纳闷过,其他类型都可以定义变量,为何void不可以。其他类型都可以定义函数喝指针,void也可以啊 ...

这个你得理解指针变量、指针和变量的本质:1:不同类型的变量需要不同大小的内:(比如char 为1字节,int为4字节),所以变量要指定确定的类型,编译器才能分配相应的内存空间,2:那指针变量前面为什么可以是void呢,因为指针值所占的大小是根据你MCU的位数来定的,比如32位机的指针变量保存的是指针(即地址),地址值就是4字节的,不管是char*,int* ,void*地址都是4字节。所以可以用void来定义指针变量。

使用特权

评论回复
42
幸福小强| | 2025-2-21 12:15 | 只看该作者
那就是没有变量了。

使用特权

评论回复
43
慢醇| | 2025-2-23 00:04 | 只看该作者
为什么 void 不能用于声明普通变量?

使用特权

评论回复
44
dw772| | 2025-2-24 16:50 | 只看该作者
wahahaheihei 发表于 2024-3-31 13:10
是的,我也纳闷过,其他类型都可以定义变量,为何void不可以。其他类型都可以定义函数喝指针,void也可以啊 ...


使用特权

评论回复
45
643757107| | 2025-2-25 09:39 | 只看该作者
指针和函数都可以,因为指针是放钥匙的,可以先有给放钥匙的柜子,不放钥匙,函数也是一样,先有给指向函数的指针。。先不指向任何函数。但是空变量就是没变量,没有如何定义。

使用特权

评论回复
46
捉虫天师| | 2025-2-25 14:29 | 只看该作者
总结的挺到位。这个我一般是不敢用。

使用特权

评论回复
47
自动化陈稳| | 2025-4-27 01:14 | 只看该作者
void 类型 在 C 语言中是一个非常特别的类型。它表示 "没有类型"。而 void* 是指一个 指向未知类型的指针,即它没有指定指向的具体数据类型。

使用特权

评论回复
48
理想阳| | 2025-5-11 21:19 | 只看该作者
这类指针像中介,先转换成目标类型才能操作数据。

使用特权

评论回复
49
zephyr9| | 2025-5-14 07:19 | 只看该作者
void就是告诉编译器这个函数不返回值或者指针指向不确定的内存。

使用特权

评论回复
50
LinkMe| | 2025-5-15 09:41 | 只看该作者
void不是变量类型,它是表示无返回值的函数声明。

使用特权

评论回复
51
梦境摆渡人| | 2025-5-15 13:56 | 只看该作者
在C语言中,`void`关键字确实有多种用途,但它不能用来声明变量。`void`主要用于函数声明中,表示该函数不返回任何值,或者用于指针类型声明,表示指针可以指向任何类型的数据。

使用特权

评论回复
52
流星flash| | 2025-5-15 22:18 | 只看该作者
void用于函数返回类型,表示无返回值。声明变量需明确类型,void无法指明变量具体存储什么数据。

使用特权

评论回复
53
星辰伴梦| | 2025-5-15 22:36 | 只看该作者
在C语言中,`void`关键字确实用于函数和指针类型,但它不能用来声明普通变量。`void`表示没有值或者未知的类型,所以不能用来声明变量,因为变量需要一个具体的类型来存储数据。

使用特权

评论回复
54
PreWorld| | 2025-5-17 09:14 | 只看该作者
在C里,void表示函数不返回任何值或变量类型未知。

使用特权

评论回复
55
暖茶轻语| | 2025-5-17 18:32 | 只看该作者
void类型在C语言中主要用于函数返回值和指针,表示函数不返回任何值或者指针可以指向任何类型的数据。但是,void不能用来声明普通的变量,因为它没有具体的数据类型和大小,无法存储任何实际的数据。

使用特权

评论回复
56
wex1002| | 2025-5-18 09:39 | 只看该作者
变量没声明,编译器看不懂内存分配。

使用特权

评论回复
57
mintspring| | 2025-5-19 06:59 | 只看该作者
编译系统规定的,空变量就是没有变量啊。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则