没有合适的资源?快使用搜索试试~ 我知道了~
void指针的深刻理解.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 56 浏览量
2022-10-27
08:37:13
上传
评论
收藏 20KB DOCX 举报
温馨提示
试读
4页
。。。
资源推荐
资源详情
资源评论
void及 void指针含义的深刻解析
分类: 嵌入式 C 高级编程
void的含义
void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。
void指针使用规范
①void 指针可以指向任意类型的数据,亦即可用任意数据类型的指针对
void指针赋值。例如:
int *pint;
void *pvoid;
pvoid = pint; /* 不过不能 pint = pvoid; */
如果要将 pvoid赋给其他类型指针,则需要强制类型转换如:pint = (int
*)pvoid;
②在ANSI C标准中,不允许对void指针进行算术运算如 pvoid++或 pvoid+=1
等,而在 GNU中则允许,因为在缺省情况下,GNU认为 void *与 char *一样。
sizeof( *pvoid )== sizeof( char ).
void的作用
①对函数返回的限定。
②对函数参数的限定。
当函数不需要返回值时,必须使用 void限定。例如: void func(int, int);
当函数不允许接受参数时,必须使用 void限定。例如: int func(void)。
由于 void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对
void指针赋值,因此还可以用 void指针来作为函数形参,这样函数就可以接受
任意数据类型的指针作为参数。例如:
void * memcpy( void *dest, const void *src, size_t len );
void * memset( void * buffer, int c, size_t num );
---------------------------------------------------------------------
---------
1. 许多初学者对 C/C++语言中的 void及 void指针类型不甚理解,因此在使
用上出现了一些错误。本文将对 void关键字的深刻含义进行解说,并详述 void
及 void指针类型的使用方法与技巧。
2.void的含义
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以
指向任何类型的数据。void几乎只有“注释”和限制程序的作用,因为从来没
有人会定义一个 void变量,让我们试着来定义:
void a;
这行语句编译时会出错,提示“illegal use of type ’void’”。不过,
即使 void a 的编译不会出错,它也没有任何实际意义。
资源评论
G11176593
- 粉丝: 6639
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功