C/C++中的void 和 void *
C/C++中的void 和 void *
void的含义、作用
void 即“空类型”,不表示“任意类型”。
void 的作用
1)对函数返回的限定:函数不需要返回值
2)对函数参数的限定,函数不允许接受参数
无论在C还是C++中,若函数不接受任何参数,一定要指明参数为void
在C语言中,凡是不加返回值类型限定的函数,就会被编译器作为返回整型值处理,而不是没有返回值。在C++中,每个函数必须限定返回值类型,否则编译器会报错。
void * 的含义、作用
void * 即“空类型”指针,可以指向任意类型的数据,即可以用任意数据类型的指针对void指针赋值,可以通过强制类型转换赋值给任意类型的指针。
void *表示“任意类型”的指针,主要运用与内存操作函数的形参类型和返回值类型。
例如:
extern void *memcpy(void*dest, void *src, unsigned int count);
由src所指内存区域复制count个字节到dest所指内存区域
extern void*memset(void *buffer, int c, int count);
把buffer所指内存区域的前count个字节设置成字符c
void * 支持的操作:
1)与另一个指针进行比较;
2)向函数传递void指针或从函数返回void*指针
3)给一个void *指针赋值
4)不允许使用void *指针操作它所指向的对象
按照ASCII标准,不能对void 指针进行算法操作
按照GNU标准,void * 被视为char *,可以进行算法操作。
C/C++中的void 和 void *相关推荐
- C/C++中的函数中的void和void* 理解
C/C++中的void和void* 一.void void关键字表示"空类型"的概念.但是,这里的"空类型"不表示"任意类型",而是表示不存 ...
- 面试官:说说Java中java.lang.Void和void有什么作用和区别?
点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入皮皮专属交流群 来源:http://suo.im/5p28k2 void关 ...
- C++中void和void*指针的含义 (指针类型的含义)
转载自:http://blog.csdn.net/lee_shuai 指针有两个属性:指向变量/对象的地址和长度,但是指针只存储地址,长度则取决于指针的类型:编译器根据指针的类型从指针指向的地址向后寻 ...
- 对C/C++中的void与 void*认识
对void 类型的认识 void类型即空类型. void常见用法 1.void作为函数返回值类型,表示该函数返回值为空没有任何返回值. 2.函数形参列表只写一个void,表示该函数没有参数 例如 vo ...
- 浅谈c/c++中main(),int main(),void main(),int main(void)四者之间的区别
一.主函数也是函数 首先我们要了解C/C++中函数的定义,因为main函数也是函数,与其他函数的区别只是主函数是程序的主线而已,程序从它开始也在其中结束.一个函数由函数名.其前的类型标识符.其后小括号 ...
- C/C++语言void及void指针深层探索。C中void是什么意思? 为什么有时可用可不用?
C/C++语言void及void指针深层探索.C中void是什么意思? 为什么有时可用可不用? 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误. ...
- C++中的空指针和void * 指针
空指针(null pointer) 空指针不指向任何对象,在使用一个指针前首先要判断是否为空. 用法: int *ptr1=nullptr; //等价于int *ptr1=0; int *ptr2=0 ...
- objective-c中 -(void)和+(void) 业精于勤荒于嬉,行成于思毁于随
-(void)是实例方法,只有定义了这个类的实例,才能用实例调用这个方法. +(void)是类方法,用类名可以直接调用这个方法. 例如: @interface ClassName - (void)pr ...
- typedef interrupt void (*PINT)(void)的分析
今天写程序时,在DSP2833x_PieVect.h看到typedef interrupt void (*PINT)(void)突然一愣,上网查了下发现在这是加了interrupt 中断关键字的函数指 ...
最新文章
- php开发面试题---php面向对象详解(对象的主要三个特性)
- win7怎么清理java缓存文件夹_Win7怎么清除浏览器缓存?清除电脑缓存的妙招
- 【鸿蒙 HarmonyOS】UI 布局 ( 相对布局 DependentLayout )
- python dag调度系统开发_基于机器学习的DAG调度平台
- php mysql关键技术_中高级PHP开发者应该掌握哪些技术?
- 个人博客网站文章添加目录导航
- python SMTP attachment
- 如何在 Windows Server 2003 中配置权威时间服务器
- Idea的svn新建分支,切换分支,合并分支
- Python获取打印机读数(东芝泰格)
- 中国互联网发展报告(2021)
- 3D线激光成像数学模型简析与实现
- thinkpad T500开机大于10分钟,黑屏
- 解决TextView中文英文数字混排导致的自动换行问题
- PHP TP模板下的微博登录(wap)
- html鼠标移动到图片上显示冒泡框,Bootstrap 教程 - 提示冒泡(Tooltip)
- 谷歌突然宣布!百度、滴滴懵了
- 【高效程序员系列】3 别碰鼠标——让键盘飞起来
- 了解微信小程序、掌握微信小程序开发工具的使用、了解小程序的目录以及文件结构、掌握小程序中常用的组件、掌握WXML、WXSS、WXS的基本使用
- 对抗生成网络(GAN)简介及生成数字实战