指向常量的指针
如:const char* pc = "abcd",
该方法不允许改变指针所指的变量,即:pc[3] = ‘x'; 是错误的。
但是,由于pc是一个指向常量的普通指针变量,不是常指针,因此可以改变pc所指的地址,例如
pc = "ervfs";//这里是将pc重新指向了无名字符串"ervfs"的地址
常指针
该语句付给了指针另一个字符串的地址,改变了pc的值。
char* const pc = "abcd";
创建一个常指针,一个不能移动的固定指针,可更改内容,如
pc[3] = 'x';
但不能改变地址,如pc = 'dsff'; 不合法。
指向常量的常指针
const char* const pc = "abcd";
其内容和地址均不能改变。