char指针和数组的不同 今天在写程序的时候遇到一个错误,两年前遇到过,但是忘了具体怎么回事… 第一个可以更改字符串内容,第二个不可以。 原来是char型数组在定义是就为变量申请了空间(堆或栈)来存放数组内容,对于char *B,仅仅为B这个变量申请了临时的空间,对于要存放的内容没有申请空间。 "abc"存放在为S申请的存放数组的空间(堆或栈)中,"add"存放在常量区,内容是不可以更改的,仅仅是将常量区的首地址赋值给B。