[学习资料] 探讨一个C语言void的问题

[复制链接]
jackcat 发表于 2024-4-8 10:18 | 显示全部楼层
当尝试将void用作变量类型时,编译器会报错,因为这不是void关键字的预期用途。
天天向善 发表于 2024-4-12 21:51 | 显示全部楼层
Void, used only to indicate that the return type or pointer of a function is null
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来定义指针变量。
幸福小强 发表于 2025-2-21 12:15 | 显示全部楼层
那就是没有变量了。
慢醇 发表于 2025-2-23 00:04 | 显示全部楼层
为什么 void 不能用于声明普通变量?
dw772 发表于 2025-2-24 16:50 | 显示全部楼层
wahahaheihei 发表于 2024-3-31 13:10
是的,我也纳闷过,其他类型都可以定义变量,为何void不可以。其他类型都可以定义函数喝指针,void也可以啊 ...


643757107 发表于 2025-2-25 09:39 | 显示全部楼层
指针和函数都可以,因为指针是放钥匙的,可以先有给放钥匙的柜子,不放钥匙,函数也是一样,先有给指向函数的指针。。先不指向任何函数。但是空变量就是没变量,没有如何定义。
捉虫天师 发表于 2025-2-25 14:29 | 显示全部楼层
总结的挺到位。这个我一般是不敢用。
自动化陈稳 发表于 2025-4-27 01:14 | 显示全部楼层
void 类型 在 C 语言中是一个非常特别的类型。它表示 "没有类型"。而 void* 是指一个 指向未知类型的指针,即它没有指定指向的具体数据类型。
理想阳 发表于 2025-5-11 21:19 | 显示全部楼层
这类指针像中介,先转换成目标类型才能操作数据。
zephyr9 发表于 2025-5-14 07:19 | 显示全部楼层
void就是告诉编译器这个函数不返回值或者指针指向不确定的内存。
LinkMe 发表于 2025-5-15 09:41 | 显示全部楼层
void不是变量类型,它是表示无返回值的函数声明。
梦境摆渡人 发表于 2025-5-15 13:56 | 显示全部楼层
在C语言中,`void`关键字确实有多种用途,但它不能用来声明变量。`void`主要用于函数声明中,表示该函数不返回任何值,或者用于指针类型声明,表示指针可以指向任何类型的数据。
流星flash 发表于 2025-5-15 22:18 | 显示全部楼层
void用于函数返回类型,表示无返回值。声明变量需明确类型,void无法指明变量具体存储什么数据。
星辰伴梦 发表于 2025-5-15 22:36 | 显示全部楼层
在C语言中,`void`关键字确实用于函数和指针类型,但它不能用来声明普通变量。`void`表示没有值或者未知的类型,所以不能用来声明变量,因为变量需要一个具体的类型来存储数据。
PreWorld 发表于 2025-5-17 09:14 | 显示全部楼层
在C里,void表示函数不返回任何值或变量类型未知。
暖茶轻语 发表于 2025-5-17 18:32 | 显示全部楼层
void类型在C语言中主要用于函数返回值和指针,表示函数不返回任何值或者指针可以指向任何类型的数据。但是,void不能用来声明普通的变量,因为它没有具体的数据类型和大小,无法存储任何实际的数据。
wex1002 发表于 2025-5-18 09:39 | 显示全部楼层
变量没声明,编译器看不懂内存分配。
mintspring 发表于 2025-5-19 06:59 | 显示全部楼层
编译系统规定的,空变量就是没有变量啊。
稳稳の幸福 发表于 2025-5-30 11:06 | 显示全部楼层
深入学习,多多尝试,动手做。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部