A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 丶有果灬 中级黑马   /  2014-12-4 14:05  /  682 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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,表示指向和值都不能改动

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马