定义字符指针并初始化,指针变量所指向的字符串存在哪个地方呢?
定义字符指针并初始化,指针变量所指向的字符串存在哪个地方呢?char *p="the world",此时变量会在内存中占4个字节,可是“the workd”这个字符串存在哪里呢?
----------------------------------------------------
因为p是一个指针变量,它在内存中占4个字节,它指向的是字符串“the world”的首地址,
我不明白的是,这个字符串存在哪里呢?这个字符串的地址是什么呢?
我先用定义一个整型作为例子,问问二者的区别。
int a=10;
就是定义一个整型变量 a ,这个变量在内存中占用4个字节,而且存在的内容就是 10 本身。这个很好理解,但是定义字符指针就不同了。
内存中存的是指针。但是它所指向的内容存在哪里呢?
这个字符串如果也存在内存中, 那么它的地址是什么呢?
虽然初始化时,p指向这个字符串,但是p随时可以指向别的位置,那么“the world”这几个字符串就会成为孤点了。