判断void*参数类型_嵌入式开发《C语言(十:不要再认为void关键字是“空”的意思)》…

  • Post author:
  • Post category:其他


在文章 嵌入式Linux开发《C语言专题(十:彻底搞懂“关键字”const)》和嵌入式Linux开发《C语言专题(十:彻底搞懂“关键字”static)》和嵌入式开发《C语言(十:5分钟搞懂“关键字”register&extern)》和嵌入式开发《C语言(十:5分钟搞懂“关键字”sizeof)》和嵌入式开发《C语言(十:搞懂typedef“关键字”so easy)》和嵌入式开发《C语言(十:2分钟搞懂关键字volatile)》中对关键字const、static、register、extern、typedef和volatile做了详细的总结。这篇文章将详细介绍void关键字的使用。通过这篇文章将

学会看懂和使用

void

关键字。


void不是“空”的意思,是“万能”的意思。


void与普通变量的结合

void修饰普通变量 也就是这个变量的类型是任何类型,比如void a; a=10;

不过几乎没有人这样做,这样写在有些编译器中也是出错的

。如下图所示:

a2e2ceecb866b98f79e2994f166106ee.png

因此我们在定义变量时都会给一个确定的类型。同时系统会给这个变量分配相应的内存空间,如果定义为void类型变量,系统就不知道要给这个变量分配多大的内存空间。因此这样写是错的。同样,void*修饰变量也是类似。


void与函数的结合

void在自己定义函数中作为参数和返回值的使用。

如果函数没有返回值,那么可以将这个函数的返回设置为void类型

。比如

void fun(int i){ printf("i = %d