(1)char *p = "abcdef"; //p是一个指针,直接指向字符串常量区,只具有可读性,不可修改,修改p[0]就是修改常量区的内容,这是不允许的。
注:把p传参时,在函数内不可修改p
(2)char p[ ] = "abcdef"; //编译器在栈上创建一个字符串p,把abcdef从常量区复制到p,修改p[0]就是修改一个局部变量,这是允许的。
(1)char *p = "abcdef"; //p是一个指针,直接指向字符串常量区,只具有可读性,不可修改,修改p[0]就是修改常量区的内容,这是不允许的。
注:把p传参时,在函数内不可修改p
(2)char p[ ] = "abcdef"; //编译器在栈上创建一个字符串p,把abcdef从常量区复制到p,修改p[0]就是修改一个局部变量,这是允许的。