C++基础系列(三)Const 关键字

一.  前言

        有时我们希望定义这样一种变量,它的值不能被改变。 例如,用一个变量来表示缓冲区的大小。使用变量的好处是当我们觉的缓冲区大小不再合适时,很容易对其进行调整。另一方面,也应随时警惕防止程序一不小心改变了这个值。为了解决问题,我们引入const关键字。

二.  用法

2.1 修饰常量

//常量的值不允许被修改
    int temp = 5;
    const int b = 3;

    //变量 "c" 需要初始值设定项
    //const int c;
    
    // 常量b 的值不能被修改
   // b = 4;
   
   // 常量不接受 输入操作
   //cin >> b;

小结:如果是一个被const关键字修饰的变量

1.  那么它是不能被更改值

2.  需要赋予初始值

3.  不接受输入操作

2.2 修饰指针

const char *pContent;
const char* pCont;


    // const 修饰指针
    int  hour = 24;
    int  time = 12;
    //const 在*号左边,那么它封锁 *p是常量,那么*p中的值就是一个常量,无法在改变了
    const int *p = &hour;

    cout<< "指针变量 p 指向的地址为:"<< p <<endl;

     p = &time;
    //报错: 分配只读位置'*p'
    // *p = 100;

     cout<< "指针变量 p 改变后的指向的地址为:"<< p <<endl;

    //总结: Const在 * 左边: 那意味着 p所指得地址中的值是不能更变的, p的地址可以修改
    //*p所指地址中的值不能被改变
   // *p = 300;
    const int *p1 = &hour;
    p1 = &time;




    // 第二种情况,如果 const 在*号右边,那么封锁修饰的就是 指针变量p2 那么它的地址就是固定的,不能在赋值
    // 但是可以修改指定地址中的内容
    int* const p2 = &time;
    *p2 = 13;
     //赋予新地址会报错
    //p2 = &hour;

    cout << "p2 地址: " << p2 << endl;

总结:沿着*号划一条线,看const 在*号 左边还是右边

1.   const在 *号左边: 那意味着 p所指得地址中的值是不能更变的, p的地址可以修改

2.   const在 *号右边,那么封锁修饰的就是 指针变量p2  那么它的地址就是固定的,不能再赋值

三.  更多

const全面总结

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值