关于字符串常量,下面有篇文章解释的很清晰:
char *c="hello world";
书上说:"hello world"这个字符串被当作常量而且被放置在此程序的内存静态区。
c为一个字符型指针,若为局部变量,则存储在栈内,该指针变量里面存了个地址,
该地址为字符串中第一个字母h的地址。
当使用printf()输出时,格式化时选择%s,会输出hello world,这是printf()遇到结尾符号'\0'即停止显示打印。
字符串"hello world"是个常量,存储在一片连续的内存中,末尾有结尾符表示字符串的结束。
那一般的int i=1;
所有的字符窜常量都被放在静态内存区
因为字符串常量很少需要修改