const 限定一个变量不允许被改变,可提高程序安全性,利于他人理解程序。该关键字也存在于C++、PHP5、C#语言中。
例:以下程序会有一处报错
typedef char* pStr;
const char *p1 = "string";
const pStr p2 = "string";
p1++;
p2++;
解析:p2++ 会报错。
const使用的基本形式: const type m;限定m不可变。替换基本形式中的m为1式中的*p1,替换后const char *p1;限定*p1不可变,当然p1是可变的,因此问题中p1++是对的。替换基本形式中的type为2式中的pStr,替换后const pStr m;限定m不可变,题中的pStr就是一种新类型,因此问题中p2不可变,p2++是错误的。
const只修饰其后的变量,至于const放在类型前还是类型后并没有区别。如:const int a和int const a都是修饰a为const。注意*不是一种类型,如果*pType之前是某类型,那么pType是指向该类型的指针。