请问:char *p = “abcd”; 和 char a[] = "abcd"的区别?指针p存储在什么区? 数组a存储在哪儿?它们有什么区别?
答案:指针p和字符数组都是在栈区,其中,“abcd"字面值在常量区,上面的区别是字符数组a会把常量区的"abcd"拷贝到栈中。那么字符数组a可以修改其中的元素,但指向字符的指针不能修改其指向的字符"abcd”。
请问:char *p = “abcd”; 和 char a[] = "abcd"的区别?指针p存储在什么区? 数组a存储在哪儿?它们有什么区别?
答案:指针p和字符数组都是在栈区,其中,“abcd"字面值在常量区,上面的区别是字符数组a会把常量区的"abcd"拷贝到栈中。那么字符数组a可以修改其中的元素,但指向字符的指针不能修改其指向的字符"abcd”。