void不是“空”的意思,是“万能”的意思 。
void与普通变量的结合 void修饰普通变量 也就是这个变量的类型是任何类型,比如void a; a=10;不过几乎没有人这样做,这样写在有些编译器中也是出错的 。如下图所示:
因此我们在定义变量时都会给一个确定的类型 。同时系统会给这个变量分配相应的内存空间,如果定义为void类型变量,系统就不知道要给这个变量分配多大的内存空间 。因此这样写是错的 。同样,void*修饰变量也是类似 。
void与函数的结合 void在自己定义函数中作为参数和返回值的使用 。如果函数没有返回值,那么可以将这个函数的返回设置为void类型 。比如
void fun(int i){ printf("i = %d n", i)} 如果函数有返回值,但是在定义的时候没有返回类型,那么默认的返回值的类型为整型 。如果函数没有参数应在函数名后的小括号内写上void,常见的int main(void)或者比如
int fun(void){ int i = 10; return i;} void *指针与函数的结合 void *修饰指针变量 表示这个变量可以指向任何类型的指针 。
如果在实际的开发中,如果我们所需要的参数或者是返回值为任意一种指针类型,那么可以将参数或者返回值写成void *形式 。比如我们常用的memcpy memset函数都是这样做的 。这些内存操作函数只管所需要的空间大小,不管申请后这些空间是用来存储int类型还是char类型亦或是其他类型额数据 。这样也就保证了这些内存函数使用的范围更广 。这里的参数个返回值void*类型就表示可以是任何需要的类型 。
void *memcpy(void *dest, co推荐阅读
- 超详解析这6大模型 电商用户运营的6大模型
- Excel做复利终值系数表 excel复利计算函数
- 深度解析喜剧之王结局剧情 喜剧之王结局什么意思
- 初中二次函数的图象与性质 二次函数判别式的意义
- 《论语》10句经典名句语录解析 孔子最经典的十句话
- left函数用法与理解 left函数
- 常用函数汇总学习 mysql绝对值函数
- 超详解析产品预售设置步骤 拼多多预售是什么意思怎么设置的
- 韩国电影金福南事件始末带来的启示 金福南事件始末解析
- 辰东三部曲之圣墟剧情全面解析 圣墟讲的是什么故事