1.const 修饰一个普通的变量的时候,其位置可以与变量类型进行调换,其作用相同。
例如:
const int a = 10;
int const a = 10;
2.const修饰数组,表示数组是只读的,必须定义的时候进行初始化。当然这里的使用也遵守第一条准则。
例如:
char const nums[] = {1,2,3};
nums[1] = 10; // 这样操作是错误的
3.const修饰指针的时候,如果const放在*前面,表示指针指向的内容是只读的,不能通过指针修改它所指向的存储内容,如果const在*后面说明指针本身是只读的,不能改变指针的指向。
例如:
3.1
int const *p = #
*p = 40; // 此处操作是错误的,const放在*前面,表示指针指向的内容是只读的,不能通过指针修改它所指向的存储内容
3.2
p = &num1; //不能通过指针修改它所指向的存储内容,但是我们可以修改p指针指向的地址
int * const p1 = # //const在*后面说明指针本身是只读的,不能改变指针的指向。
// p1 = &num1; // 此处操作是错误的
3.3
const int * const p2 = # // 在*号前面和后面各一个const表示指针所指向的存储内容和所指向的地址均不能改变的
// p2 = &num1;
// *p2 = 60; // 此处两个操作都是错误的