发新帖我要提问
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 | 只看该作者
总结的挺到位。这个我一般是不敢用。

使用特权

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

本版积分规则