永发信息网

对qsort函数中的void指针的疑惑,求解

答案:3  悬赏:10  手机版
解决时间 2021-02-07 18:22
*(int* 变量名)得出的值是变量的值吗?如果是,为什么?先谢谢高手们

我表达得不清楚,用另一种形式表达一下:
int comp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
*(int *)a的值是从哪来的
最佳答案
兄弟这是强制类型转换,这里的void型指针其实和c++多态时用到的基类指针类似。
(int*)a是把void*类型的指针强制转换成int*类型 ,左边的*是取内容的意思。应该明白了吧?
这是一个通用函数,传入的参数可以是 int* 也可以是char* 等等。。。
全部回答
a是一个void *指针。 如果取它指向的内存的值。必须把它cast到一个特定类型上。 比如 (int*)a cast之后的指针就是一个标准的int *了,所以就可以再取它所在内存地址的值了。
*(int *)a 这条表达式的意思是将a强制转换为int *(整形指针)类型,然后返回*a(也就是返回a执向的内容), 你题目那种写法是不对的,因为(int * 变量名)是对变量的声明 再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
合肥市哪几个汽车站有到寿县的车,最迟的一班
经期可以喝酵素吗
(二)AlphaParticle阅读材料,回答问题。Fromd
万峪河乡谷场村卫生室怎么去啊,有知道地址的
我想出去走走,但不知道去哪里
秘书证好考吗
江西工程学院
rtk做控制在地籍测量中可用吗?为什么?
职业高中有前途吗
三道水库地址在什么地方,我要处理点事
万古桥怎么去啊,有知道地址的么
永州市城通通信管网建设有限责任公司这个地址
大豆炒熟出油率高吗
超导体是通过降低温度的方法来降低电阻 为什
基督教如何解释旧约寡妇的难处
推荐资讯
盘锦东升旅店地址在哪,我要去那里办事
亿达物流(318省道北150米附近亿达物流)地址好
落地生根能吃吗
正尚品茶行怎么去啊,我要去那办事
信用卡冻结了还会扣年费吗
安妮化妆工作室怎么去啊,有知道地址的么
朋友圈早餐在什么地方啊,我要过去处理事情
女主角叫楚云溪男主角叫离什么的小说
如果一个人因死亡而户口被注销了,那么在户口
人民西社区居委会地址在什么地方,想过去办事
2019年优翼学练优八年级历史上册人教版答案
沈阳路丰源汽车销售服务有限公司我想知道这个
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?