请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答 回答被采纳积分+3

1回答

于海 2018-10-09 18:11:47

关于字符串常量,下面有篇文章解释的很清晰:

char *c="hello world";
书上说:"hello world"这个字符串被当作常量而且被放置在此程序的内存静态区。
c为一个字符型指针,若为局部变量,则存储在栈内,该指针变量里面存了个地址,

该地址为字符串中第一个字母h的地址。
当使用printf()输出时,格式化时选择%s,会输出hello world,这是printf()遇到结尾符号'\0'即停止显示打印。

字符串"hello world"是个常量,存储在一片连续的内存中,末尾有结尾符表示字符串的结束。

那一般的int i=1;

所有的字符窜常量都被放在静态内存区
因为字符串常量很少需要修改

0 回复 有任何疑惑可以回复我~
  • 提问者 nickgogo #1
    内存静态区对应的课程中的那个区域,代码段,还是已初始化数据区
    回复 有任何疑惑可以回复我~ 2018-10-09 18:18:55
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信