六个蒸蛋
2019-10-31 12:26
char str[]="hello" 很好理解,就是给字符数组 str[] 赋值"hello";
但是 char *str2="world" 该怎么理解?这是给指针变量 str2 赋值"world"?可是指针变量里面存的不应该是内存地址吗?怎么可以赋值一个字符串?
每个字符串在内存中都占用一段连续的存储空间。并有唯一确定的首地址。因此可以将字符串的首地址赋值给字符指针。则可以让字符指针指向一个字符串。对于字符串常量而言,字符串常量本身就代表他常量存储区的首地址。
运行的时候,就加载了。是无法更改的,在我们的内存中代码段中的。栈内存和堆内存才能更改。
Linux C语言指针与内存
116475 学习 · 250 问题
相似问题