char a[5],*p = a;没有问题,把字符数组地址赋值给p'abcd' 不是字符串,"abcd"才是字符串,而且是常量'abcd'其实相当于0x61626364,把这个值赋值给变量p
在C/C++中 p = "abcd"其实是把字符串"abcd"在内存中的首字符的地址,赋值给了p