关于char*与const char*

W1nds 2011-06-15 07:46:15
char*与const char*什么时候需要这个const
以及之间怎么转换
...全文
102 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lj10193019 2011-06-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 rrrfff 的回复:]
char *可以直接转成const char *,反之不行(强制转换可以)。
其实char *可以看作是一个int,32位平台下。
[/Quote]
++
紫色动力 2011-06-15
  • 打赏
  • 举报
回复
是常量指针和指针常量的问题。
const char* cptr是常量指针,是指向常量的指针,指向的内容不能变,因为指向的是常量。指针可能改变,可以指向其它的常量。
char const *cptr是指针常量,指针本身是常量,所以指针不能指向其它的值,但指向的内容可以改变。
Memory秀 2011-06-15
  • 打赏
  • 举报
回复
加了const 就是常量了, const char* A 表示 这个指针指向的那个数不能变 是常量。 而 char*A 你可以重复赋值,虽然这样做不好 。 希望不更改它的值就在 前面加const 而char * const A 表示地址已经固定 不能更改了!
RLib 2011-06-15
  • 打赏
  • 举报
回复
char *可以直接转成const char *,反之不行(强制转换可以)。
其实char *可以看作是一个int,32位平台下。
东莞某某某 2011-06-15
  • 打赏
  • 举报
回复
const修饰指针时:

const int *A; 或 int const *A; //const修饰指向的对象,A可变,A指向的对象不可变
int *const A;   //const修饰指针A, A不可变,A指向的对象可变
const int *const A; //指针A和A指向的对象都不可变

这个总结的挺完善:http://www.newsmth.net/pc/pccon.php?id=10002714&nid=359712
淡抹0_0眼線 2011-06-15
  • 打赏
  • 举报
回复
不能改变变量值的时候需要加。。
淡抹0_0眼線 2011-06-15
  • 打赏
  • 举报
回复
不能改变char的值的时候需要加

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧