c语言关键字:const

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是指向该类型的指针。

原文地址:https://www.cnblogs.com/babywhale/p/4482655.html