在C语言中,关于字符型指针初始化char *p="hello world" 的问题

在C语言中,字符型指针初始化char *p="hello world" , "hello world"是字符串常量,为什么可以赋给一个指针变量???

第1个回答  2020-06-27
对于字符串常量,编译器都是默认按其大小分配内存存放字符串,并把地址首地址赋值指针变量。
如:
char
*p="hello
world";
其实编译的时候等于:
const
char
str[]
=
"hello
world";
char
*p
=
str;
只不过这个
str
数组名你没法直接拿来用而已。
相似回答
大家正在搜