Const修饰符的作用
Const:
常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能更新的。
Const常类型
变量:值是可以修改的
常量:值是不可以修改的
可以把一个变量通过Const修饰后变成的一个常量。变成只读的,在java中的final与此类似。
修饰常指针:
Const int *A; //Const修饰指针,A可变,A指向的值不能被修改。
Const int a = 10;
int b = 100;
//a=20;
printf("%d\n",a);
//指针的指向(存储的是谁的地址) 值(地址对应的存储单元是/的内容)
//标准指针P1的值指向可以改变的,但是地址所对应的值是不能改变的。
以下四种情况:
(1)Const int *p1 = &a; //p1-->a
p1 = &b; //p1-->b
*p1 = 20; //报错,不能够去访问
(2)int const *p2 = &a;
p2 = p1;
//*p2 = 34; //报错,也不能修改
(3)//标示指针p3指向的值可以修改,但是指向不能修改
int *const p3 = &a;
p3 = p1; //报错
*p3 = 100;
(4)//这种写法,标示指针变量,p4指向和值都不能修改
const int * const p4 = &a;
p4 = &b; //报错
*p4 = 200; //报错
技巧总结:
先看"*"的位置
如果const在*的左侧,表示值不能修改,指向可以改
如果const在*的右侧,表示指向不能修改,值可以改
如果"*"的两侧都有const,表示指向和值都不能改动
|
|