c++ const修饰指针

 const修饰指针有三种情况

  1. const修饰指针 --- 常量指针    

 

 

 

 比如下面例子:

    int a = 10;
    int b = 10;

    //const修饰的是指针,指针指向可以改,指针指向的值不可以更改
    const int * p1 = &a; 
    p1 = &b; //正确,指针的地址可以更改
    *p1 = 100;  //报错,指针指向的值不可更改

 2.指针常量

 const修饰的是常量,指针指向不可以改,指针指向的值可以更改 

//const修饰的是常量,指针指向不可以改,指针指向的值可以更改
    int * const p2 = &a;
    //p2 = &b; //错误
    *p2 = 100; //正确

 

 

3. const即修饰指针,又修饰常量

 示例:

//const既修饰指针又修饰常量
    const int * const p3 = &a;
    //p3 = &b; //错误
    //*p3 = 100; //错误
 

 

 技巧:看const右侧紧跟着的是指针还是常量, 是指针就是常量指针,是常量就是指针常量。比如:const int *p=a;这叫做常量指针,可以拆分出来看const(常量), *p(*为解析符号,*p就是将指针P进行解析出值),所以联合起来可以理解成常量指针中值不能变(因为const修饰了*p,),指针的指向可以变。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

posted @   安静点--  阅读(96)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示