标题:请教一个问题,谢谢
只看楼主
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
结帖率:92.86%
已结贴  问题点数:10 回复次数:4 
请教一个问题,谢谢
int rates[5]={1,2,3,4,5};
const int *pd=rates;
*pd=10;//不允许
为什么这里不允许呢
2016-04-17 10:30
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
得分:10 
因为加了const向编译说明pd指向的是一个常量对象,不能通过pd修改。但可以通过rates[0]=10修改。

未佩好剑,转身便已是江湖
2016-04-17 11:01
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
得分:0 
回复 2楼 alice_usnet
const int *pd是不是指针地址不可改变,但可以改变指针所指向的内容、?
2016-04-17 11:05
alice_usnet
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:370
专家分:2020
注 册:2016-3-7
得分:0 
回复 3楼 屋顶
int *const pd指针不可变,但对象的内容可变;const int *pd指针可变,但指向对象的内容不可变。

未佩好剑,转身便已是江湖
2016-04-17 11:36
屋顶
Rank: 1
等 级:新手上路
帖 子:174
专家分:7
注 册:2016-2-27
得分:0 
回复 4楼 alice_usnet
谢谢
2016-04-17 12:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-463734-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018066 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved