char a[] = "string";
const char * b = a;
cout << "b原本所在的地址"<<&b << endl;
cout << "b原本所指的地址"<< (int *)b << endl;
b = "ttt";
cout << "b现在所在的地址" << &b << endl;
cout << "b现在所指的地址" << (int *)b << endl;
cout << "a所在的地址" << &a << endl;
cout << "a所指的地址" << (int *)a << endl;
const char *c = "string2";
*b = *c;//报错,值不可以更改;
//备注int *p=&a;//初始化指针,该形式只在定义时正确,表示以p指针所指向地址的值为变量a的值。*p的类型是 int 类型,p的类型才是 int*
看上去是b的值改变了,其实是b指向的地址改变了。所以const char *的值不可以更改,但是可以通过更改指向的地址更改值。