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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朝歌晚舞 中级黑马   /  2015-7-20 22:56  /  578 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


什么是Const
Const是一个类型修饰符
使用const修饰变量则可以让变量的值不能改变
常类型是指使用类型修饰符const的类型。常类型的变量或对象值是不能被更新的。

Const有什么主要作用?
(1)可以定义const常量,具有不可变性。例如:const int max=100;  int attay[max];
(2)便于进行类型检查,使编译器对处理内容有更多的了解,消除了一个隐患。
     例如:void f(const int i){..........}编译器就会知道i是一个常量,不允许修改;
(3)可以避免意义模糊的数字出现。
(4)提高效率,节省空间。编译器不为const分配空间,而是将它保存在符号表中。







Const 使用的地方
(1)修饰变量,使得变量变成常量

Const int a=10;
a=200;--->会报错 因为a是只读的不能被修改。
Printf(“%d”,a);

(2)修饰指针变量
    1.指针变量P的指向可以改变,但是指向的变量的值不能改变。
         Int a=10;
         Int b=20;
         Const int *p=&a;
         P=&b  --->指向改变     未报错。
    *p=1000------>指向的变量的值改变   报错。
2.指针变量指向的变量值可以改变,指向不能变
        Int  * const P2=&a;
        *p2=200;       //值可以改变
        P2=&b;        //指向不能改变
    3.const修饰的指针变量的指向和值都不能改变。
        Const int *const p2=&a;
        P3=&b;       //指向的变量的值不能变
        *p3=100;       //指向不能变
记忆技巧:const 如果在*的左侧,表示指针变量指向的变量的值不能变,但是指向可以改变。      Const 如果在*的右侧,表示指针变量指向的变量的值可以改变,但是指向不能改变。    Const如果在*的两次,表示都不能改变。
(3)修饰数组

0 个回复

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