问答详情
源自:5-3 字符数组和指针字符串

字符型指针变量的赋值问题

char str[]="hello" 很好理解,就是给字符数组 str[] 赋值"hello";

但是 char *str2="world" 该怎么理解?这是给指针变量 str2 赋值"world"?可是指针变量里面存的不应该是内存地址吗?怎么可以赋值一个字符串?

提问者:六个蒸蛋 2019-10-31 12:26

个回答

  • 慕瓜2511366
    2019-11-04 16:38:02
    已采纳

    每个字符串在内存中都占用一段连续的存储空间。并有唯一确定的首地址。因此可以将字符串的首地址赋值给字符指针。则可以让字符指针指向一个字符串。对于字符串常量而言,字符串常量本身就代表他常量存储区的首地址。

    运行的时候,就加载了。是无法更改的,在我们的内存中代码段中的。栈内存和堆内存才能更改。