c++基础性问题 指针类型

[复制链接]
查看11 | 回复1 | 2010-7-31 16:58:07 | 显示全部楼层 |阅读模式
71 int gramcmp1( const void *a, const void *b )
72 {
73
struct POINT *c = (struct POINT *)a ;
74
struct POINT *d = (struct POINT *)b ;
75
76
if( c->k - d->k > eps )
return 1 ;
77
else if( c->k - d->k x - d->x > 0 ? 1 : -1 ;
80 }谁能给我解释一下这段代码,我对指针是望而生偎啊?大牛帮我每一行代码加上注释吧!
struct POINT *d = (struct POINT *)b ; //将void型指针强制转换成struct Point型指针,那前面的structpoint*d有什么用 回1楼

回复

使用道具 举报

千问 | 2010-7-31 16:58:07 | 显示全部楼层
这段是qsort的比较函数代码,qsort用法,百度一下就可以 int gramcmp1( const void *a, const void *b )//传入void型指针 {
struct POINT *c = (struct POINT *)a ;
struct POINT *d = (struct POINT *)b ; //将void型指针强制转换成struct Point型指针
if( c->k - d->k > eps )//Point为结构体,这里k应为一个浮点数指斜率,如果c指向的斜率大于
//d指向的斜率,则返回1,顺序为c,k
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行