常量是在程序中不能更改的量!在C/C++中有两种定义常量的的方式。

一种是define宏定义;一种是在C++中新提出来的const型常量


define是预处理指令的一种,它用来定义宏,宏只是一个简单的替换,将宏变量所对应的值替换

const定义常量的时候并没有这个替换的操作,与使用正常的变量无异。const型变量只是在语法层面上限定这个变量的值不可以修改,我们可以通过强制类型转化或者通过内嵌汇编的形式修改这个变量的值


我们可以总结出const和define的几个不同之处:
1)define是一个预处理指令,const是一个关键字。
2)define定义的常量编译器不会进行任何检查,const定义的常量编译器会进行类型检查,相对来说比define更安全
3)define的宏在使用时是替换不占内存,而const则是一个变量,占内存空间
4)define定义的宏在代码段中不可寻址,const定义的常量是可以寻址的,在数据段或者栈段中。
5)define定义的宏在编译前的预处理操作时进行替换,而const定义变量是在编译时决定
6)define定义的宏是真实的常量,不会被修改,const定义的实际上是一个变量,可以通过相关的手段进行修改。

19.C 语言与 C++在定义常量时有什么区别相关推荐

  1. [C语言]static关键字--#define 定义常量和宏--初识指针--初识C语言(四)

    文章目录 前言 一,static关键字 二,#define 定义常量和宏 三,初识指针 总结 前言 本节主要记录初识C语言第四节内容. 内容包括:static关键字------#define 定义常量 ...

  2. C语言中的#define定义常量和宏

    C语言中的define是一个预处理指令. 1.define定义常量        格式为:#define  标识符  常量  , 注意:语句末尾没有":". 2.define定义宏 ...

  3. C语言带参宏定义和函数的区别

    带参数的宏和函数区别: 宏展开仅仅是字符串的替换,不会对表达式进行计算:宏在编译之前就被处理掉了,它没有机会参与编译,也不会占用内存.而函数是一段可以重复使用的代码,会被编译,会给它分配内存,每次调用 ...

  4. java 定义一组常量用什么最好_Java语言中定义常量注意事项解析

    一.常量定义的基本注意事项. 在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来定义常量.当常量被设定后,一般情况下就不允许再进行更改.如可以利用如下的形式来定 ...

  5. java定义常量_JAVA中定义常量方法

    JAVA中定义常量方法 (2013-01-28 14:30:19) 标签: it 一.常量定义的基本注意事项. 在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字) ...

  6. ios项目 swift 定义常量 其他文件引用_面试应该注意的Swift知识点

    1. 给一个数组,要求写一个函数,交换数组中的两个元素 二X程序员: 好简单啊,直接写出以下结果 func swap(_ nums: inout [Int], _ p: Int, _ q: Int) ...

  7. c语言用宏定义常量_使用宏定义常量以在C的数组声明中使用

    c语言用宏定义常量 As we know that, while declaring an array we need to pass maximum number of elements, for ...

  8. c语言定义64位的变量,李洪强-C语言9-C语言的数据,变量和常量

    一.数据 图片文字等都是数据,在计算机中以0和1存储. (一)分类 数据分为静态数据和动态数据. ①. 静态数据:一些永久性的的数据,一般存储在硬盘中,只要硬盘没坏数据都是存在的.一般以文件的形式存储 ...

  9. C语言 define 定义常量 - C语言零基础入门教程

    目录 一.define 简介 二.define 实战 1.不使用 define 2.使用 define 3.使用 define 优点 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学 ...

最新文章

  1. cassandra mongodb选择——cassandra:分布式扩展好,写性能强,以及可以预料的查询;mongodb:非事务,支持复杂查询,但是不适合报表...
  2. jq 直接调用php文件_js调用php和php调用js的方法举例
  3. mysql 51 bin_mysqldump和bin-log备份以及恢复示例
  4. poj2154 Color ——Polya定理
  5. 3d激光雷达开发(pcl安装和使用)
  6. THE PRESENT (礼物)
  7. 5分钟学会使用DataHub接入实时数据到MaxCompute(原ODPS)
  8. VMware Workstation 備份與恢復虛擬機
  9. SPSS16 视频教程 共17章全
  10. word刷子刷格式_用word格式刷快速调整文档格式-word技巧-电脑技巧收藏家
  11. 延缓青少年近视进展的新方案
  12. 牵线搭桥,『桥接模式』
  13. NR LDPC 03- Tanner
  14. InoReader—— 轻便快捷的在线 RSS 阅读器
  15. 轮播图功能的全实现(自动播放、小点点、按住停止播放、放手后开始播放...)
  16. Random Walk(随机行走)
  17. win11环境 cmd 命令窗口 sqlplus 命令无响应
  18. 几招搞定淘宝签收提醒短信
  19. 2021年化工自动化控制仪表考试试题及化工自动化控制仪表操作证考试
  20. 浅谈道路监控杆的安装注意事项

热门文章

  1. 数字证书KeyTool使用(第二篇)
  2. Kali Linux 官方宣传视频
  3. asp(javascript)中request.form(a).count 在ie6中总是为0
  4. struts2文件上传一个错误的解决
  5. 【opencv】经典的细化提取骨架理论及源代码
  6. windows 安装nodejs 和 npm
  7. 北京理工大学计算机学院 王亮,王 亮
  8. 易语言逐条读access数据_易语言对ACCESS数据库基础(适合新手)
  9. 七月在线python数据分析_七月在线Python基础+数据分析班+爬虫项目
  10. php调取 zabbix实时数据_zabbix-基础系列(三)-zabbix安装[官方版]