菜鸟求教,以下的写法为何不可以
char *p="abc";
p[1]="B";//或者*(p+1)="b"
把p改成字符串数组就可以,
这样写为什么不可以,有什么区别吗?
[解决办法]
char *p="abc";
这里是定义一个指向存放在常量区的字符窜的指针,常量"abc”。
如果是数组,就是将常量区的字符窜拷贝到数组里面的是可变的。
你先看看数据的存储方式吧!
发布时间: 2012-03-17 19:06:28 作者: rapoo
菜鸟求教,以下的写法为何不可以
char *p="abc";
p[1]="B";//或者*(p+1)="b"
把p改成字符串数组就可以,
这样写为什么不可以,有什么区别吗?
[解决办法]
char *p="abc";
这里是定义一个指向存放在常量区的字符窜的指针,常量"abc”。
如果是数组,就是将常量区的字符窜拷贝到数组里面的是可变的。
你先看看数据的存储方式吧!