1、const

 

定义const 只读变量,具有不可变形

const int a = 100;

编译器通常不为普通Const只读变量分配存储空间, 而是将它们保存在符号表中,
  这使得它成为一个编译期间的值,没有了存储与读内存操作,使用效率很高

  #define M3 //宏常量const int N = 5; //此时并没有将N放入内存中int  i = N; // 此时为N分配了内存,以后不再分配内存int  I = M; // 预编译期间进行宏替换,分配内存int J = N;  // 没有内存分配intJ = M    //再次进行宏替换,有一次分配内存
   const int *p; //p可变,p指向的对象不可变int const *p;  //p可变,p指向的对象不可变 int *const p;   //p不可以变,p指向的对象可变const int *const p; //p不可以变,p指向的对象不可变

const和#define区别

1、const 给出了对应的内存地址,不像#define一样给出的是立即数,const定义的只读变量在程序的运行中只有一份拷贝,(因为它是全局的只读变量,存放在静态区,

C和指针之const、#define、volatile相关推荐

  1. 转:C++中const、volatile、mutable的用法

    const修饰普通变量和指针 const修饰变量,一般有两种写法: const TYPE value; TYPE const value; 这两种写法在本质上是一样的.它的含义是:const修饰的类型 ...

  2. C++中const、volatile、mutable的用法

    From: http://blog.csdn.net/wuliming_sc/article/details/3717017 const修饰普通变量和指针 const修饰变量,一般有两种写法: con ...

  3. [转]C++中const、volatile、mutable的用法

    原文:https://blog.csdn.net/imJaron/article/details/79657642 const意思是"这个函数不修改对象内部状态". 为了保证这一点 ...

  4. C语言中的const,volatile与restrict的使用

    1. const 变量声明中带有关键词const,意味着不能通过赋值,增量或减量来修改该变量的值,这是显而易见的一点.指针使用const则要稍微复杂点,因为不得不把让指针本身成为const和指针指向的 ...

  5. c语言static. volatile,嵌入式系统C语言重点语法const、volatile、static、堆栈等的意义及用法...

    原标题:嵌入式系统C语言重点语法const.volatile.static.堆栈等的意义及用法 在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场. 要点:堆, ...

  6. C语言 const、volatile、const volatile限定符理解

      在C语言经常会用到变量类型限定符const和volatile,但是const和 volatile也可以一起使用.下面就一次分析一下这三种情况的使用方法. 1.const   从字面意思理解,意思就 ...

  7. const与volatile

    一个例子说明const const and volatile const与指针一起使用的情况分析及总结: const int nValue: //nValue是const int const nVal ...

  8. static、const、volatile等关键字作用

    目录 一.需要明白c语言中对象的一些属性 1.C语言中内存分配 2.变量的作用域 3.链接属性 4.存储期 二.static.const.volatile关键字作用 1.static关键字作用 2.c ...

  9. C++57个入门知识点_40 常成员函数(用于定义不可修改类内部成员变量的函数,一般用来修饰Get函数;常成员函数this指针:const T* const;常成员函数内部变量修改方法:强转/关键字)

    前面我们已经学习了C++中重要的知识点,特别是虚函数可能会有些懵逼,但是需要我们在实践中不断的理解和尝试,写代码是进步最快的方式,接下来将会介绍一些简单但很重要的知识点,本篇介绍常成员函数. 总结: ...

  10. c语言restrict和const,C语言中const、volatile、restrict等类型限定符的区别

    auto.register.static.extern是属于存储类修饰符.在声明时,存储类修饰符最多只能使用一个,而且无法用在typeof声明中. 而类型限定符是指const.volatile.res ...

最新文章

  1. 兰德报告:思维机器时代的威慑
  2. 设CPU中各部件及其相互连接关系如下图所示。图中W是写控制标志,R是读控制标志,R 1 和R 2 是暂存器
  3. python学好了可以做什么菜_你是怎么学好Python的?
  4. LeetCode上求最长公共字符前缀字符串问题——Longest Common Prefix
  5. flink DDL读取kafka数据-Scala嵌入DDL形式
  6. 重温《数据库系统概论》【第一篇 基础篇】【第2章 关系数据库】
  7. linux search用法,在Linux中使用ldapsearch只返回一个值
  8. SQL--报错回显注入
  9. 高一数学计算机教材,高一数学的教学计划
  10. 【软考】2018年下半年软件设计师上午试题及答案
  11. 励志:滴滴打车App初期是怎么推广的?
  12. 电驴怎么显示服务器列表,(转)如何更新电驴服务器列表(eMule Server List)
  13. python爬房源信息_Python爬取链家二手房源信息
  14. ClippingNode做游戏的新手指导
  15. 解决只读文件系统问题
  16. 在Python中实现对称矩阵
  17. Premiere 素材预览与基本剪辑
  18. 程序员升职记-汇报技巧:金字塔原理、MECE法则
  19. 用python读取csv文件并绘制波形及频谱
  20. 关于λ的矩阵是怎么算出来的?

热门文章

  1. c# 通过内存映射实现文件共享内存
  2. 如何在 ASP.Net Core 中实现 健康检查
  3. asp.net core集成CKEditor实现图片上传功能
  4. C# 中的 is 真的是越来越强大,越来越语义化
  5. 一次简单的服务器 cpu 占用率高的快速排查实战
  6. 我想快速给WPF程序添加托盘菜单
  7. .NET Core开发实战(第23课:静态文件中间件:前后端分离开发合并部署骚操作)--学习笔记(下)...
  8. 深入理解.NET Core的基元: deps.json, runtimeconfig.json, dll文件
  9. .NET Core3发布Json API
  10. netcore 中的动态代理与RPC实现(微服务专题)