c++常量指针,和指针常量和常量指针常量这些都有啥区别的哈!
2个回答
展开全部
const是用来修饰类型的,一般从位置来判断它所限制的对象。如:
const
char
*
v;//这是常量指针,const与char最近,它限制char是常量,即不可被修改,整体看const
char即是不可被修改的char类型,再看*
v,v是指针变量,这个指针变量指向的类型是const
char。
char
*
const
v;//这是指针常量,const与*最近,它限制指针变量是常量,即指针的值不可被修改(即指针指向的内存地址不可修改),这个内存单元被解释为char类型。
const
char
*
v;//这是常量指针,const与char最近,它限制char是常量,即不可被修改,整体看const
char即是不可被修改的char类型,再看*
v,v是指针变量,这个指针变量指向的类型是const
char。
char
*
const
v;//这是指针常量,const与*最近,它限制指针变量是常量,即指针的值不可被修改(即指针指向的内存地址不可修改),这个内存单元被解释为char类型。
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
展开全部
看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
不要管什么常量指针指针常量的,用更多的语言能描述清楚的,就不要试图是思考这些用汉语表达极易被混淆的概念
简单来说,如果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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询