前者对,后者char a[]一旦定义就不能改变,相当于一个字串常量
而后都p只是指针发生变化,指向a首地址后的3个位置:
测试如下:
#include<iostream>
using namespace std;
int main()
{
char a[]="House";
const char *p="Horse";
cout<< a << endl; //Horse
cout<< p << endl; //Horse
cout<< *p << endl; //H
p = a + 3;
cout<< p << endl; //se
cout<< *p << endl; //s
return 0;
}
可以查看手册:c语言-指针 中的内容