简述
代码及说明
char chStr1[] = "Hello World pStr1";
char chStr2[] = "Hello World pStr2";
chStr1[1] = 'h';
/*
* 什么是指针?指针的值是什么?
* 指针是变量,存的值是地址。
* 变量?类似int
* 地址?指针里存的值也是数值,只不过,其值代表的是另外一个"东西"的"位置"信息
* 比如: 你去拿一下快递***(A),在***街***号(B)。其中A就是指针, B就是地址(A的地址)
*/
//chPtr0: 变量指针 或 指针变量
char *chPtr0 = chStr1;
chPtr0[0] = 'h'; // 指向的内存可以被修改
chPtr0 = chStr2; // 自身可以指向别的地方(变)
//chPtr1: <常量><<指针>>, 本身是一个指针,变量;修饰的值所指内存不能被修改
const char *chPtr1 = chStr1;
//chPtr1[1] = 'h'; // 所指内存不能被修改
chPtr1 = chStr2; // 可以指向新的地址
//chPtr2: <指针><<常量>> 本身是一个常量指针,常量
// 本身不能被修改(不能指向新的地址),但所指内存可以被修改
char *const chPtr2 = chStr1;
//chPtr2 = chStr2;
chPtr2[0] = 'h';
//chPtr3: 指向常量的常量指针(很显然是chPtr1 + chPtr2的累加性质)
const char *const chPtr3 = chStr1;
//chPtr3[0] = 'h';
//chPtr3 = chStr2;
