登录|注册|帮助中心|联系我们

导航
首页 综合百科 生活常识 数码科技 明星名人 传统文化 互联网 健康 影视 美食 教育 旅游 汽车 职场 时尚 运动 游戏 家电 地理 房产 金融 节日 服饰 乐器 歌曲 动物 植物
当前位置:首页 > 教育

void函数已有主体怎么解决(解析void函数应用)

发布时间:2023年1月2日责任编辑:陈小树标签:函数

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, const void *src, size_t n);

?

void *memset(void *s, int c, size_t n);

以上就是所总结的void的用法,这些都是必须要掌握的,上机实战,理解才是王道

其它知识推荐

溜溜百科知识网——分享日常生活学习工作各类知识。 垃圾信息处理邮箱 tousu589@163.com
icp备案号 闽ICP备14012035号-2 互联网安全管理备案 不良信息举报平台 Copyright 2023 www.6za.net All Rights Reserved