const int a; int const a; const int * a; int * const a; int const * const; 之间的区别

const int a; int const a; 这两个写法是等同的,表示一个是一个INT常量。

const int * a; 表示a是一个指针,可以任意指向int常量或者int变量,它总是把它所指向的目标当作一个int常量。也可以写成int const * a;含义相同。

int * const a; 表示一个是一个指针常量,初始化的时候必须固定指向一个INT变量,之后就不能再指向别的地方了。

int const * a const;这个写法没有,倒是可以写成int const * const a;表示a是一个指针常量,初始化的时候必须固定指向一个int常量或者int变量,之后就不能指向别的地方了,总是把它所指向的目标当作一个int常量。也可以写成const int * const a;含义相同。

关于常量的点滴补充:

  1,常量对象的地址只能赋值给指向常量对象的指针

  2,指向常量对象的指针可以被赋值为一个非常量对象的地址

  3,指向常量得指针常被用函数的形式参数,保证被传递给函数的实际对象在函数中得到实际对象在函数中不会被修改

  4,常量在定义后就不能被修改,所以它必须被初始化。未初始化的常量定义将导致编译错误(上面都是在说明常量得问题,所以没有赋值,实际语句中要赋值的)

const int a; int const a; const int *a; int * const a; int const * a const; 之间的区别相关推荐

  1. C++day01 const和define之间的区别

    大家好,我是阿林,一个c++的初学者.记录我学习c++的过程. 今天主要讲的是 const和define之间的区别 const和define都是定义常量,但是它们却有着定义域,作用域上的不同. def ...

  2. python中int表示的数据类型是_python中的基本数据类型之 int bool str

    一.基本数据类型 1. int  ==>  整数.主要用来进行数学运算. 2.str  ==>  字符串.可以保存少量的数据,并进行相应的操作. 3.bool  =>  布尔值.判断 ...

  3. int能表示的数据范围(在VS2017下,int和long都是32位)

    int 有符号数时:-2147483648~2147483647 无符号数时:unsigned int能表示范围: 0~4294967295 由上可知:int作为有符号数,能表示的正数数据范围最大应该 ...

  4. define宏定义和const定义之间的区别

    define部分: 宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段.(宏的功能很强大,但也容易出错,所以其利弊大小颇有争议.) 宏的语法为: #define 宏名称 宏值 注意,宏定义不 ...

  5. int** 赋值_Python的赋值、浅拷贝、深拷贝之间的区别

    这里用三张图来说清Python的赋值.浅拷贝.深拷贝之间的区别. 补充说明: 1.首先要理解 不可变数据.可变数据类型: 2.对于其他语言(如JAVA)的浅拷贝.深拷贝逻辑相同: 3.下图所描述的数据 ...

  6. 轻松弄懂var、let、const之间的区别(一看就懂)

    ES6的好处 ES6的出现为我们前端带来了很多方便之处,以前用js几十行才实现的一个功能,ES6几行代码就能简单的实现,ES6新增的一些特性,改变了很多弊端之处,比如新出现的let.const,实现了 ...

  7. java编程int和byte的用法_Java中的Byte Array和Int转换

    Java中的Byte Array和Int转换 我有这两个函数有一些困难: byteArrayToInt和intToByteArray . 问题是,如果我使用另一个来得到另一个结果,结果是不同的,你可以 ...

  8. 轻松弄懂var、let、const之间的区别

    ECMAScript 6(简称ES6)是JavaScript语言的下一代标准,于2015年6月正式发布,也称ECMAScript 2015. ES6的好处 ES6的出现为我们前端带来了很多方便之处,以 ...

  9. int 为什么是2147483647_现在的C语言编辑器里的int范围为什么是-2147483648~2147483647...

    下面是引用百度文库的一段话: "这得从二进制的原码说起: 如果以最高位为符号位,二进制原码最大为0111111111111111=215-1=32767 最小为111111111111111 ...

最新文章

  1. 将tflearn的模型保存为pb,给TensorFlow使用
  2. 在SQL中使用convert函数进行日期的查询
  3. 温州大学《机器学习》课程代码(二)(回归)
  4. 系统设计4:Web服务和流量限制
  5. 人力资源SaaS软件“乐才Joy HR”获数百万元战略融资
  6. linux中脚本循环语句,Shell脚本循环语句
  7. mybatis获取mysql自增主键_Mybatis获取数据库自增主键
  8. 能源36号文解读_财税2016年36号文件全文解读【专业分析】
  9. flex 实现图片播放 方案二 把临时3张图片预加载放入内存
  10. 科幻之蓝xp壁纸主题
  11. 论文精读- The Evaluation of the Urban Road Network Based on the Complex Network
  12. Mysql 不包含某个字符
  13. html 播放微信amr音频文件,如何在微信中播放amr格式的文件?
  14. 在使用firefly的RK3308的SDK使用buildroot构造文件系统时,遇到OEM分区和userdata不能挂在成功的问题
  15. mysql注入转义绕过_SQL注入防御绕过——宽字节注入
  16. U3D RPC网络传输相机画面
  17. 解决笔记本连接wifi提示无法连接这个网络问题
  18. 2020美亚杯个人赛
  19. 第一章 计算机系统概述
  20. 服务器主板显示e2,大金中央空调有一台机面板显示E2是什么问题如何解决故障...

热门文章

  1. python django安装使用 错误:Type ‘manage.py help <subcommand>‘ for help on a specific subcommand.
  2. 公布本人收集的一些FTP站点、有大量学习、电影资源
  3. [HARDWARE] ddr、ddr2、ddr3的区别
  4. python tello_Tello-Edu无人机:如何用Python代码捕捉图像
  5. uniapp 的多选框传值
  6. 无限位小写金额转换大写金额(修订版)
  7. 如何计算近似纳什均衡_纳什-纳什解(Nash-in-Nash Solution)简介
  8. linux SSD 硬盘优化
  9. OpenCV二值图像处理——阈值,连通区域分析(C++)
  10. HTTP contentType