const关键字在修饰指针有时候搞不清楚修饰到底是指针,还是修饰指针指向的内容,下面详细整理了一下,const和指针的关系主要有以下四种情况。

整型常量和常量指针

首先先看看整型常量和常量指针如何定义,先复习这个有助于以下的理解。

定义常量指针的形式。

int a = 10;
int * const pa = &a;//

定义整形常量的两种形式,其实都是一样的。

int const a;
const int a;

const修饰指针的4种形式

第一,pLinJun1是一个指向整形型的指针

int *pLinJun1;

第二,pLinJun2是一个指向整形常量的指针,指针指向的值是常量,因此可以修改指针,但不能修改指针所指向的值

int const *pLinJun2;
const int *pLinJun2;//同上面语句一个意思

第三,pLinJun3是一个指向整形的常量指针,指针是常量,因此不能修改指针,但可以修改指针指向的值

int * const pLinJun3;

第四,pLinJun4是一个指向整形常量的常量指针,指针是常量,指针所指向的值也是常量,因此两者都不能修改

int const * const pLinJun4;
const int * const pLinJun4;同上面语句一个意思

怎么快速地分辨呢?其实直接看const和变量pLinJun即可,不需要看int,如果const后面是*pLinJun,那就是对pLinJun指向的内容起限定作用;如果const后面是pLinJun,那就是对pLinJun本身起限定作用。

将上面4种情况整理成图片方便大家理解。如果觉得还不错请给我点个赞吧~

const与指针变量相关推荐

  1. 【C语言】关键字const详解 - 变量守护者

    为什么说const是变量守护者? 首先我们先从字面认识一下const: 作用如其意,const用于修饰变量,将其变为某种意义上的"常量".我们知道,常量是不可以被赋值的,所以被co ...

  2. const修饰指针的效果

    1.const关键字 const关键字经常用来修饰常量,也就是说当有个变量你不希望改变时,可以用const来修饰 const int num=20;num=30;//错误,const修饰的变量不可改变 ...

  3. C++阶段01笔记07【指针(基本概念、变量定义和使用、内存空间、空指针和野指针、const修饰指针、指针和数组、指针和函数)】

    C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 7 指针 7.1 指针的基本概念 7.2 指针变量的定义和使用 示例 7.3 指针所占内存空间 示例 7.4 空指针和野指针 示 ...

  4. C语言中Const指针变量(常指针)

    C语言中,指针是最难理解的一部分,尤其是Const指针变量. Const指针变量只保护其Value值不被改变,并不能保护指针所指向的地址中的值不被改变,下面是针对Const指针的一个小练习: #inc ...

  5. C++ 笔记(27)— 指针变量、数组和指针、指针数组、数组指针、指针常量与常量指针

    1. 什么是指针变量? 指针变量是专门有一个变量来存放指针. int main(int argc, char *argv[]) {int a = 10;int *p = &a; //通过取地址 ...

  6. const 修饰指针

    目录 const修饰指针 1.1const 放在*的左边 1.2const放在*的右边 const修饰指针 1.1const 放在*的左边 修饰的是指针指向的内容(*p),指针指向的内容,不能通过指针 ...

  7. C语言--const修饰指针解析

          这种例子在我们平时编程时可能会很少用,但是在面试时被问的可能性就很大了. 用const修饰指针,常见的情况可以分为四种: 1.const int *p; // p 可变,p 指向的对象不可 ...

  8. 【C 语言】字符串拷贝 ( 函数形参使用推荐方法 | 凡是涉及 修改指针指向 的操作一律创建新的 指针变量 执行 | 引入 辅助 局部 指针变量 )

    文章目录 一.函数形参使用推荐方法 二.完整代码示例 一.函数形参使用推荐方法 在函数中 , 形参 中的 指针变量 , 不建议直接使用 ; 推荐 在 函数中 , 定义 局部 指针变量 , 接收 形参中 ...

  9. BOOL,int,float,指针变量 与“零值”比较

    BOOL型变量:if(!var) Int型变量:if(var==0) Float型变量: Const float EP=0.00001; If(x>=-EP&&x<=-EP ...

最新文章

  1. 流放之路材质过滤怎么设置_三种不同材质的精密过滤设备特点
  2. java wait for_Java p.waitfor()永远等待
  3. C# ref跟out
  4. hive求差集和交集
  5. html dom手机版,HTML DOM - 元素
  6. unity 关闭自己脚本_太可了!这些领域可以把Unity玩的那么好,带你开启新世界...
  7. ​java/ mysql企业动态网站设计制作作业成品
  8. eclipse adt如何切换到设计界面_如何设计出优秀的UI界面?这4个方面帮你快速优化...
  9. C#调用java类、jar包方法
  10. linux 执行安装脚本,批量执行Linux安装程序和脚本
  11. 条形码转化成二维码_免费在线条形码生成器_村美小站
  12. 工具篇:Navicat-12版本破解安装
  13. Java小开发(车辆信息管理系统)
  14. 物联网解决方案:智慧物流方案
  15. 可以将pdf转换成jpg图片格式的方法
  16. laydate限定某天不可选
  17. 采购人必须明白的八大发展趋势及原则
  18. 火车头采集html5游戏,火车头采集工具Wed发布配置方法
  19. 最全Ansible学习总结
  20. 计算机文化基础—IT概论

热门文章

  1. android 技能标签功能_android专业技能总结.doc
  2. 深度linux运行卡顿,Deepin很卡怎么办?Deepin卡顿解决方法盘点
  3. spyder中绘图无法显示负号_[转载]Matlab常用函数
  4. python爬虫爬图片教程_python爬去妹子网整个图片资源教程(最详细版)
  5. android 控件宽度自适应_Android中让图片自适应控件的大小的方法
  6. 逻辑卷备份mysql脚本_对MySQL进行逻辑卷备份与恢复
  7. 如何用golang获取linux上文件的访问/创建/修改时间
  8. leetcode 75
  9. 多核CPU上python多线程并行的一个假象(转)
  10. 17秋 软件工程 团队第五次作业 Alpha Scrum9