当我们将变量声明为
时char arr[] = "Hello";
然后上面的字符串“ Hello”位于堆栈中。
但是当我们将变量声明为
时char* arr = "Hello";
然后在堆栈或代码段中声明字符串“ Hello”? 如果是代码段,那么为什么要代码段而不是堆栈?
答案 0 :(得分:1)
不。没有在任何段中声明字符串文字。
具有静态存储期限,并且它是只读的。
由于它是只读的,因此将其地址分配给char*
是不正确的。将其更改为char const* arr = "...";