荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: xsosx (I believe………), 信区: Program
标  题: Re: char *p="hello world"和char p[]="hello world".
发信站: 荔园晨风BBS站 (Tue Apr  5 20:04:02 2005) , 站内信件

直接copy下来的:

字符数组a的容量是6个字符,其内容为hello\0。a的内容可以改变,如a[0]= ‘X’。指针p
指向常量字符串“world”(位于静态存储区,内容为world\0),常量字符串的内容是不可
以被修改的。从语法上看,编译器并不觉得语句p[0]= ‘X’有什么不妥,但是该语句企图
修改常量字符串的内容而导致运行错误。

char a[] = “hello”;
a[0] = ‘X’;
cout << a << endl;
char *p = “world”;     // 注意p指向常量字符串
p[0] = ‘X’;              // 编译器不能发现该错误
cout << p << endl;

【 在 jiffies 的大作中提到: 】
: 有区别吗?谁能解析一下。

--

  I believe......
※ 来源:.荔园晨风BBS站 http://bbs.szu.edu.cn [FROM: 192.168.111.89]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店