社区
C++ 语言
帖子详情
* const ,初始化?
u013628777
2014-05-22 06:29:36
int i=-1;
const int ic=i;
int *const cpi=
左边:int *const cpi,是什么类型指针?
右边:&ic,是什么类型地址?
为什么,整个表达式:int *const cpi=&ic,是错误?
...全文
117
4
打赏
收藏
* const ,初始化?
int i=-1; const int ic=i; int *const cpi=⁣ 左边:int *const cpi,是什么类型指针? 右边:&ic,是什么类型地址? 为什么,整个表达式:int *const cpi=&ic,是错误?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
d-o
2014-05-22
打赏
举报
回复
纠正 是我看错了 2楼没问题 汗
d-o
2014-05-22
打赏
举报
回复
int *const cpi= cpi是指针常量 const是修饰指针的 cpi这个指针指向的地址不能改变 但是他指向的值可以改变。 const int ic ic被定义为const 不可修改 所以这样写 会报错 2楼弄反了
Falleyes
2014-05-22
打赏
举报
回复
常量指针,指向常量的指针,指向常量的常量指针。 如果数据是const,那么指向它的指针,必须是指向常量的指针。你可以把你的数据改成非const,或者把指针改成指向常量的(常量)指针。如楼上所说。
Pump天天学习
2014-05-22
打赏
举报
回复
int *const cpi,是什么类型指针? cpi是一个const指针,指向int类型,由于cpi是const的,所以不能更改它的指向 &ic,是什么类型地址? 定义的是什么类型,他就是什么类型,此处就是const int 为什么,整个表达式:int *const cpi=&ic,是错误? 由前两个就可以看出来了 cpi是指向int的,而&ic是const int的,编译不过 invalid conversion from ‘const int*’ to ‘int*’ 可以改成这样 const int *const cpi= //让他指向const int就对了
C/C++ 指针的13份资料
C/C++ 指针的13份资料 内容丰富,让编程人员不再害怕指针
const
char *、char
const
*、char *
const
三者的区别
一、
const
char * 对于
const
char * s来说,
const
char * 是指向常量的指针,而不是指针本身为常量,可以不被
初始化
.该指针可以指向常量也可以指向变量,只是从该指针的角度而言,它所指向的是常量。* s是不变的,s是可以改变的,
const
限定的* s。s被一个解引用运算符修饰,故s是个普通的指针,可以修改,但是s所指向的数据(即*s)由于
const
的修饰而不可通过指针s去修改。 即:指向数据的内容不可以修改。 二、char *
const
s是个不可修改的指针(指向不可以修改),
深入理解
const
char*p,char
const
*p,char *
const
p,
const
char **p,char *
const
*p ...
一、可能的组合: (1)
const
char*p (2)char
const
*p (3)char *
const
p (4)
const
char **p (5)char
const
**p (6)char *
const
*p (7)char **
const
p 当然还有在(5)、(6)、(7)中再插入一个
const
的若干情况,不过分析了以上7中,其他的就可类推了! 二、理解助记法宝:...
const
double *p和double *
const
p和
const
double *
const
p的区别
在《C++primer》第56页中详细写了,
const
double*p是指向常量的指针,double*
const
p是常量指针,
const
double*
const
p是指向常量变量的常量指针。把*放在
const
关键字之前用以说明指针是一个常量,这样的书写形式隐含着一层意味,即不变的是指针本身的值而非指向的那个值。它指向的对象是一个常量,这是由第一个
const
所确定的,指针本身是一个常量,这是由第二个
const
所确定的。该段代码说明对于一个普通类型常量pi,指向它的指针cptr也必须是。.........
const
int* a、int*
const
a、
const
int*
const
a的区别
const
int* a 首先 a 是一个整形指针,而
const
修饰的是 int*,表示 a 所指向的地址的内容不能被改变,但是 a 本身还可以指向别的地址。 如图:a 指向 m 的地址,14行企图用 *a 来改变 m 的值就报错了。而15行让 a 再指向 n 的地址则正常。 补充:
const
int* a 与 int
const
* a效果相同。 int*
const
a 同样 a 也是一个指向整形变量的指针,但与
const
int* a 不同,
const
修饰的是 a 本身,那么效果也就可想而
C++ 语言
65,207
社区成员
250,517
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章