char *p="hello world";
char a[]="hello world";
字符数组a和指向字符串的指针p,两者都需要在内存静态数据区空间存储一个字符串常量”hello world”。但是指针变量直接指向该静态数据区的常量字符串的起始地址,并且以后不能修改字符串的值;而初始化数组时需要将字符串的所有字符拷贝到栈区的存储空间,并且让字符数组的起始地址指向栈区字符串的起始地址,以后数组元素的内容可以改变。
字符数组a和指向字符串的指针p,两者都需要在内存静态数据区空间存储一个字符串常量”hello world”。但是指针变量直接指向该静态数据区的常量字符串的起始地址,并且以后不能修改字符串的值;而初始化数组时需要将字符串的所有字符拷贝到栈区的存储空间,并且让字符数组的起始地址指向栈区字符串的起始地址,以后数组元素的内容可以改变。