免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2279 | 回复: 9
打印 上一主题 下一主题

菜问题 - void *funtion() 有什么用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-18 15:49 |只看该作者 |倒序浏览
无值型的,指针函数,有什么用?

论坛徽章:
0
2 [报告]
发表于 2004-09-18 16:17 |只看该作者

菜问题 - void *funtion() 有什么用

这个是有道理的,但是我忘了。

它这个返回指针定义为void, 可能是(包括它的参数类型)返回类型不确定,用void可以方便的转换为其它类型。

论坛徽章:
0
3 [报告]
发表于 2004-09-18 16:31 |只看该作者

菜问题 - void *funtion() 有什么用

我记得malloc()方法返回的就是void指针,它意思好像是malloc方法负责给你分配内存空间,你可以在这个空间里存放任何类型数据。

论坛徽章:
0
4 [报告]
发表于 2004-09-18 16:42 |只看该作者

菜问题 - void *funtion() 有什么用

是啊,这个函数只是返回一定空间的内存首地址就可以了,自己要怎么用就改变指针类型就可以了

好多内存、字符串操作的函数都是这样的,好像返回void类型指针的函数不只是上面的原因和用途。

论坛徽章:
0
5 [报告]
发表于 2004-09-18 19:52 |只看该作者

菜问题 - void *funtion() 有什么用

void指针是可以指向任意基类型的指针。这个是ANSI C里面加入的内容(也就是C89以后),其实,指针都一样,我可以让一个char *的指针指向一个int类型的变量(在C89出来之前,一向是用char *指向任意基类型的地址。看看老代码就能看到了)
其实void * 就是char *就是 int *……换句话说,指针都一样~~

论坛徽章:
0
6 [报告]
发表于 2004-09-18 20:29 |只看该作者

菜问题 - void *funtion() 有什么用

区别在于编译器对他们的索引范围。

论坛徽章:
0
7 [报告]
发表于 2004-09-18 21:40 |只看该作者

菜问题 - void *funtion() 有什么用

[quote]原帖由 "ljttlf"]区别在于编译器对他们的索引范围。[/quote 发表:

不太明白什么意思
不过由些所想指针本没有什么不同
只是指针在移动的时候会根据不同的指针类型移动不同的距离,在取值时根据不同的指针类型取不同范围的值哈
不知还有什么不同。

论坛徽章:
0
8 [报告]
发表于 2004-09-19 02:24 |只看该作者

菜问题 - void *funtion() 有什么用

1、如果参数个数固定,有声明,编译器知道是指针。
2、如果没声明,编译器不知道指针。这时不能直接用 0
3、如果有声明,但参数个数可变,则变化的参数跟没声明一样,编译器不知道它是个指针。

你的 foo 声明了, 所以直接用0 可以。execl 参数是可变的,直接用 0 不行。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2004-09-20 11:14 |只看该作者

菜问题 - void *funtion() 有什么用

原帖由 "Blacklac" 发表:
不要开英文好么
我大学还没读


The bbs is not for yourself!

论坛徽章:
0
10 [报告]
发表于 2004-09-20 13:50 |只看该作者

菜问题 - void *funtion() 有什么用

能不能举个程序的列子来说明(void *)???
例出少量代码,让我一看明白
这说,都说不清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP