搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ void函数
标题:
void函数
只看楼主
星112
来 自:山西朔州
等 级:
职业侠客
威 望:
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
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
2
楼
得分:10
这种是无类型指针,与无类型数据不是一回事。void* 指针仍然指向数据,但事先没有明确那数据是什么数据类型的,需要程序员自己知道,在使用这个数据时,用强制转型声明为真正的数据类型。这是C中最灵活的一种指针用法,但风险也极大,因为这种用法允许你把不同的数据类型随心所欲地变来变去,当变化的数据块尺寸不尽相同时,如何解释那些数据并不至于弄错,就完全是程序员的责任。
授人以渔,不授人以鱼。
2012-07-06 11:11
hellovfp
等 级:
禁止访问
威 望:
30
帖 子:2976
专家分:7697
注 册:2009-7-21
第
3
楼
得分:5
读书要仔细,void != void *
我们都在路上。。。。。
2012-07-06 11:18
shenzhijian
等 级:
论坛游民
帖 子:21
专家分:50
注 册:2012-6-23
第
4
楼
得分:5
void *返回的是指针(任意类型),可以加强制转换变成你想要的类型
2012-07-06 16:08
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-372849-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.078385 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved