深入理解指针(5)
字符指针变量

对下述代码进行调试


继续go,并且观察p2

弹出错误:

为什么报错呢?
因为常量字符串是不能被修改的,否则,编译器报错。
最后,打印一下:

《剑指offer》中收录了⼀道和字符串相关的笔试题,我们⼀起来学习⼀下:

为什么是这样的运行结果呢?
str1
str2
两个是独立的空间
常量字符串,在C语言中也有自己的空间
所以
str3指向常量字符串的第一个地址
相同的字符串在C语言中,没有必要保存两次 ===== 因为常量字符串没有办法被改变,所以没有必要。
所以,大家公用一份是能满足的,这样也能够节省空间。
故而,str4 和 str3 一样。

一般在代码段中存放常量字符串。
