社区
C++ 语言
帖子详情
char *p 和 (char*) p有区别吗
lin_style
2006-07-28 11:41:14
RT
一个排序函数中见到的
...全文
414
6
打赏
收藏
char *p 和 (char*) p有区别吗
RT 一个排序函数中见到的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
折腾_苏州
2006-07-28
打赏
举报
回复
楼上说的在理:
char *p;定义一个字符指针p;
(char *) p 是把变量p强制转换成char *类型, 之前p可以是其他类型如 int ,void 型
adintr
2006-07-28
打赏
举报
回复
区别大了,
一个是变量定义,一个是类型转换
「已注销」
2006-07-28
打赏
举报
回复
char *p 和 (char*) p的区别在于:
char *p是定义一个字符指针。也就是在定义变量。
(char *) p 是把变量p强制转换成char *类型。
ckp
2006-07-28
打赏
举报
回复
没有区别
「已注销」
2006-07-28
打赏
举报
回复
int compare(const void*a,const void *b){
return strcmp((char*)a,(char*)b);
}
以上是你的部分源码,可以看到,变量a,b的类型为 const void *
而strcmp函数需要的两个参数类型必须是char *类型,所以这里用强制类型转换把
void * 转换成char *
即把指行一个空类型的指针转成一个指向字符类型的指针。
如果你把char *去掉的话,编译应该会报出类型不符的错误。
lin_style
2006-07-28
打赏
举报
回复
#include<iostream>
#include <stdlib.h>
#include <string>
using namespace std;
int compare(const void *a,const void *b);
char list[5][4]={"cat","car","cab","cap","can"};
int main()
{
qsort((void*)list,5,sizeof(list[0]),compare);
for(int i=0;i<5;i++)
cout<<list[i]<<endl;
return 0;
}
int compare(const void*a,const void *b){
return strcmp((char*)a,(char*)b);
}
源码
对 return strcmp((char*)a,(char*)b); 中的(char*) a 有点迷茫~
const
char
*p与
char
* const p的
区别
本文深入解析C语言中字符串指针与const关键字的使用规则与
区别
,包括const
char
*p与
char
*const p的
区别
,以及如何正确地在程序中运用这些概念来避免常见的编程错误。
char
*const p ,
char
const *p,const
char
*p的
区别
博客介绍了C++中不同指针类型的常量特性。如
char
* const p是常量指针,p的值不可修改;
char
const * p和const
char
*p是指向常量的指针,指向的常量值不可修改。
char
*p和
char
p[]的
区别
?
本文探讨了C语言中字符指针与字符数组的
区别
,解释了为何通过指针修改字符串会引发错误,而使用字符数组则可以成功实现字符串转换。
深入理解const
char
*p,
char
const*p,
char
*const p,const
char
**p,
char
*const*p ...
本文详细解析了C++中指针与const限定符的各种组合形式及其含义,包括单层与双层指针的不同场景,并阐述了如何正确理解const修饰的对象及类型相容性问题。
const
char
*p,
char
* const p,
char
const *p 的
区别
本文详细解析了C++中指向常量的指针与指针类型的常量的
区别
,通过示例说明如何使用这两种指针类型,并强调了它们在实际编程中的作用。
C++ 语言
65,212
社区成员
250,516
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章