| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4629 人关注过本帖
标题:int cmp(const void *p1, const void *p2)是什么意思
只看楼主 加入收藏
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
结帖率:64.71%
收藏
已结贴  问题点数:20 回复次数:9 
int cmp(const void *p1, const void *p2)是什么意思
int cmp(const void *p1, const void *p2)是什么意思
const 的意思我还懂,这个void在这里是干嘛的?
搜索更多相关主题的帖子: 什么意思 
2011-01-10 09:46
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:20 
int cmp(const void *p1, const void *p2)是什么意思
先看一下*符号  在他的右边画一道竖线 那么和const在一起的
就是不可以改变的   这是const的鉴别

他的意思不是p1不能改变   而是p1所指向的内容不可以改变

接下来看一下void的指针  其实它是一种多态的实现
不过很不安全   原理如下:

如果你调用这个函数时候传递的是整形  实型  字符型....的指针的时候
编译器会默认把void的指针转化为这个类型的指针
然后去执行函数的内容   

                                         
===========深入<----------------->浅出============
2011-01-10 10:06
venus85
Rank: 6Rank: 6
等 级:侠之大者
帖 子:159
专家分:477
注 册:2010-11-27
收藏
得分:0 
回复 2楼 laoyang103
谢谢你,我明白啦,
2011-01-10 10:27
li_danwang
Rank: 4
来 自:鄂州
等 级:业余侠客
帖 子:112
专家分:203
注 册:2010-11-12
收藏
得分:0 
讲的真透彻  学习了...

没事来C一下...   
2011-01-10 10:34
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
如果你调用这个函数时候传递的是整形  实型  字符型....的指针的时候
编译器会默认把void的指针转化为这个类型的指针
然后去执行函数的内容   
// ??????

我就是真命天子,顺我者生,逆我者死!
2011-01-10 12:32
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
这是qsort()中的排序方法中的吧。原型是qsort(ARRAY array,INT size,INT size_of_one_element_in_array,INT cmp);而其中的cmp()就是下面的:
int cmp(const void *p1, const void *p2)
{
  return *(int*)p1-*(int*)p2;
}

   唯实惟新 至诚致志
2011-01-10 21:45
juefeideng
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2012-10-23
收藏
得分:0 
哦哦
2012-10-31 15:33
菜鸟,求帮忙
Rank: 4
等 级:业余侠客
帖 子:197
专家分:267
注 册:2015-7-11
收藏
得分:0 
你还是没说void 指针啊
2015-07-16 11:02
菜鸟,求帮忙
Rank: 4
等 级:业余侠客
帖 子:197
专家分:267
注 册:2015-7-11
收藏
得分:0 
谁转化谁啊(哪有void指针啊)
2015-07-16 11:03
XYE
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-11-12
收藏
得分:0 
回复 2楼 laoyang103
美女,我还是不明白

2016-11-12 17:17
快速回复:int cmp(const void *p1, const void *p2)是什么意思
数据加载中...
 
   



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

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