| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 463 人关注过本帖
标题:求解:常指针。。。
只看楼主 加入收藏
陈ren
Rank: 2
等 级:论坛游民
帖 子:42
专家分:33
注 册:2012-2-29
结帖率:100%
收藏
 问题点数:0 回复次数:7 
求解:常指针。。。
#include <iostream>
using namespace std;
int main ()
{
    const    char * name ="chen";
    //name[3]='a';
    name="chan";
    cout<<name<<endl;
    char *const name1="chen";
    cout<<name1<<endl;
    name1[2]='a';//这里怎么改变不了,程序不能written;
    cout<<name1<<endl;
    return 0;
}
搜索更多相关主题的帖子: include 
2012-03-08 11:16
share32
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:214
专家分:663
注 册:2011-12-1
收藏
得分:0 
char * name ="chen";

系统把这种定义的字符串放在常量区储存,不可以更改,如果你要更改,需要使用数组形式定义字符串.
2012-03-08 11:25
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 
char *const name1="chen";把这句声明从右向左读:name1 is a const pointer to char

想象力征服世界
2012-03-08 12:03
笨坦克
Rank: 2
等 级:论坛游民
帖 子:34
专家分:35
注 册:2012-3-7
收藏
得分:0 
不懂,求高解
2012-03-08 15:22
nextleave
Rank: 2
等 级:论坛游民
帖 子:52
专家分:92
注 册:2011-9-12
收藏
得分:0 
你把那个const去掉,再试,还是一样。其实是因为你越界访问了,本来越界访问在C语言里也不会报错,但因为你指向的字符串常量,而字符串常量又是放在常量区的,常量区的内容是不可写的。所以你的写访问是非法的。
2012-03-08 16:13
陈ren
Rank: 2
等 级:论坛游民
帖 子:42
专家分:33
注 册:2012-2-29
收藏
得分:0 
回复 5楼 nextleave
对啊。好的谢谢了。回复晚了。

老师说:死记硬背是一种很靠智商的方法,重要的还是努力
2012-03-13 22:56
陈ren
Rank: 2
等 级:论坛游民
帖 子:42
专家分:33
注 册:2012-2-29
收藏
得分:0 
回复 3楼 longlong89
什么意思呢。。为什么要从右边读起??

老师说:死记硬背是一种很靠智商的方法,重要的还是努力
2012-03-13 22:57
陈ren
Rank: 2
等 级:论坛游民
帖 子:42
专家分:33
注 册:2012-2-29
收藏
得分:0 
回复 2楼 share32
谢啦。。嘻嘻。。这几天忙,没有回复。

老师说:死记硬背是一种很靠智商的方法,重要的还是努力
2012-03-13 22:58
快速回复:求解:常指针。。。
数据加载中...
 
   



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

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