void main() {
//13 C++ 中 const char *, char const *,char * const 区别
// 1. const 右边离那个近,就修饰的那个。
// 修饰* 表示p指向的内容不可变
// 修饰p 表示p中的内容不能变,即p中地址不能更改
char cstr[10] = "nihao";
char cstr1[10] = "wer";
char cstr2[10] = "bnm";
//2.const右边离 * 近,也就是说, p 和 p1指向的内容不能改动
const char * p = cstr;
char const * p1 = cstr1;
cout << p << endl; //运行结果:nihao
//p[1] = 'a';//build error.
//p1[1] = 'v';//build error.
p = cstr2; // 但是p 本身的值是可以改变的,也就是说,p 可以重新指向
cout << p << endl; //运行结果:bnm
//2.const右边离 p2 近,也就是说, p2存储的内容不能改变
char * const p2 = cstr2;
p2[0] = 'a';
cout << p2 << endl; //运行结果: amn
//p2 = cstr; build error
}
13 C++ 中 const char *, char const *,char * const 区别
于 2023-12-22 13:52:33 首次发布