| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8188 人关注过本帖
标题:void函数
只看楼主 加入收藏
星112
Rank: 5Rank: 5
来 自:山西朔州
等 级:职业侠客
威 望:2
帖 子:94
专家分:342
注 册:2012-6-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
void函数
对于C语言中函数前加void 表示无返回值,但是我发现库函数memset()函数,定义的是void 类型,但是是有返回值的,对于这个函数void *memset(void *s, int ch, size_t n); 返回的是s,
不是定义了void了吗,为什么还有返回值呢?求解
搜索更多相关主题的帖子: void C语言 
2012-07-06 09:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
这种是无类型指针,与无类型数据不是一回事。void* 指针仍然指向数据,但事先没有明确那数据是什么数据类型的,需要程序员自己知道,在使用这个数据时,用强制转型声明为真正的数据类型。这是C中最灵活的一种指针用法,但风险也极大,因为这种用法允许你把不同的数据类型随心所欲地变来变去,当变化的数据块尺寸不尽相同时,如何解释那些数据并不至于弄错,就完全是程序员的责任。

授人以渔,不授人以鱼。
2012-07-06 11:11
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:5 
读书要仔细,void != void *

我们都在路上。。。。。
2012-07-06 11:18
shenzhijian
Rank: 2
等 级:论坛游民
帖 子:21
专家分:50
注 册:2012-6-23
收藏
得分:5 
void *返回的是指针(任意类型),可以加强制转换变成你想要的类型
2012-07-06 16:08
快速回复:void函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022302 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved