c++常量指针,和指针常量和常量指针常量这些都有啥区别的哈!

 我来答
桓富贵祖妆
2019-10-13 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:28%
帮助的人:858万
展开全部
const是用来修饰类型的,一般从位置来判断它所限制的对象。如:
const
char
*
v;//这是常量指针,const与char最近,它限制char是常量,即不可被修改,整体看const
char即是不可被修改的char类型,再看*
v,v是指针变量,这个指针变量指向的类型是const
char。
char
*
const
v;//这是指针常量,const与*最近,它限制指针变量是常量,即指针的值不可被修改(即指针指向的内存地址不可修改),这个内存单元被解释为char类型。
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
检清安布亥
2020-05-02 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:31%
帮助的人:692万
展开全部
看const的位置,是在*左边还是右边
不要管什么常量指针指针常量的,用更多的语言能描述清楚的,就不要试图是思考这些用汉语表达极易被混淆的概念
简单来说,如果const出现在*左边,比如
const
char*
a;
那么a“所指向的位置的值”不可被修改,也就是a指向的内容是常量,如
int
a
=
3;
cosnt
int*
p
=
&a;
int
b
=
4;
p
=
&b;
//
no
problem
*p
=
5;
//
error
相反如果const出现在*右边,比如
char*
const
a;
那么a是一个“指向位置”不能被修改的指针,也就是说a本身是个常量,比如
int
a
=
3;
int*
const
p
=
&a;
*p
=
5;
//
no
problem
int
b
=
4;
p
=
&b;
//
error
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式