字符串常量问题

 char *a = "abc";
 char b = 'D';
 a[0] = b;
这里“abc”为字符串常量,存放在常量区,只读不可写;指针a指向字符串‘a’的地址;

以上代码不能成功运行,因为
a[0] = b;   这代码为修改常量区的值;

 char a[4] = "abc";
 char b = 'D';
 a[0] = b;
这段代码则能够成功运行,因为“abc“存放在栈区,可读可写;因此以上代码可正常运行;

 

posted @ 2017-09-29 11:05  唯一诺  阅读(258)  评论(0编辑  收藏  举报