C_and_CPP 版 (精华区)

发信人: iamxiaohan (潇寒), 信区: C_and_CPP
标  题: Re: 字符串指针的问题
发信站: 哈工大紫丁香 (2004年03月17日20:59:10 星期三), 站内信件

在C++标准里,其实在c99标准里(好像也是,有点记不清了)
"12345...",这是一个字符串常量,
字符串常量会被编译器分配到程序的静态区,
就是存放const类型变量的地方一样,
而str只是一个指向这块静态区的一个指针,
这里,这的空间不是在数据区分配的,
也就是说字符串常量不能被修改,
因此*str='#',这就会产生一个错误,
但目前执行这个标准的编著译器不多,
你也可以使用
char a[]="....";在数据区分配的方式,

【 在 wsa (半个月) 的大作中提到: 】
: 关于字符串指针和字符串数组在c语言里他们的使用基本相同,没感觉到差别?
: 可是在c++里面就不同了,大家说说他们的差别在哪里?
: char *str="1234567890abcdefg";
: 在c语言里我想修改字符串的第一个字符值为'#',只需要
: *str='#';
: 而在c++里面会发现这样的用法会产生异常。
: 那我想修改字符串的某些字符值该怎么办那?


--
纯C论坛:
http://purec.binghua.com

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.224.14]
※ 修改:·iamxiaohan 於 03月17日21:01:14 修改本文·[FROM: 202.118.224.14]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.987毫秒