上图为编译器在编译源文件是分配内存的情况 如果定义的指针常量为 字符串常量 char *p=“abcdef”; ##可以进行取值访问,如printf("%c",p[0]); printf("%s",p); char A=p[0];//或者用其对其他变量赋值 或者修改指针指向 p="123456";[] 但无法进行以下修改操作 p[0]='m'; ## 原因是分配空间的时候字符常量是在只读取分配者,无法进行读取,如上图所示