C和指针之const、#define、volatile
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相关推荐
- 转:C++中const、volatile、mutable的用法
const修饰普通变量和指针 const修饰变量,一般有两种写法: const TYPE value; TYPE const value; 这两种写法在本质上是一样的.它的含义是:const修饰的类型 ...
- C++中const、volatile、mutable的用法
From: http://blog.csdn.net/wuliming_sc/article/details/3717017 const修饰普通变量和指针 const修饰变量,一般有两种写法: con ...
- [转]C++中const、volatile、mutable的用法
原文:https://blog.csdn.net/imJaron/article/details/79657642 const意思是"这个函数不修改对象内部状态". 为了保证这一点 ...
- C语言中的const,volatile与restrict的使用
1. const 变量声明中带有关键词const,意味着不能通过赋值,增量或减量来修改该变量的值,这是显而易见的一点.指针使用const则要稍微复杂点,因为不得不把让指针本身成为const和指针指向的 ...
- c语言static. volatile,嵌入式系统C语言重点语法const、volatile、static、堆栈等的意义及用法...
原标题:嵌入式系统C语言重点语法const.volatile.static.堆栈等的意义及用法 在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场. 要点:堆, ...
- C语言 const、volatile、const volatile限定符理解
在C语言经常会用到变量类型限定符const和volatile,但是const和 volatile也可以一起使用.下面就一次分析一下这三种情况的使用方法. 1.const 从字面意思理解,意思就 ...
- const与volatile
一个例子说明const const and volatile const与指针一起使用的情况分析及总结: const int nValue: //nValue是const int const nVal ...
- static、const、volatile等关键字作用
目录 一.需要明白c语言中对象的一些属性 1.C语言中内存分配 2.变量的作用域 3.链接属性 4.存储期 二.static.const.volatile关键字作用 1.static关键字作用 2.c ...
- C++57个入门知识点_40 常成员函数(用于定义不可修改类内部成员变量的函数,一般用来修饰Get函数;常成员函数this指针:const T* const;常成员函数内部变量修改方法:强转/关键字)
前面我们已经学习了C++中重要的知识点,特别是虚函数可能会有些懵逼,但是需要我们在实践中不断的理解和尝试,写代码是进步最快的方式,接下来将会介绍一些简单但很重要的知识点,本篇介绍常成员函数. 总结: ...
- c语言restrict和const,C语言中const、volatile、restrict等类型限定符的区别
auto.register.static.extern是属于存储类修饰符.在声明时,存储类修饰符最多只能使用一个,而且无法用在typeof声明中. 而类型限定符是指const.volatile.res ...
最新文章
- 兰德报告:思维机器时代的威慑
- 设CPU中各部件及其相互连接关系如下图所示。图中W是写控制标志,R是读控制标志,R 1 和R 2 是暂存器
- python学好了可以做什么菜_你是怎么学好Python的?
- LeetCode上求最长公共字符前缀字符串问题——Longest Common Prefix
- flink DDL读取kafka数据-Scala嵌入DDL形式
- 重温《数据库系统概论》【第一篇 基础篇】【第2章 关系数据库】
- linux search用法,在Linux中使用ldapsearch只返回一个值
- SQL--报错回显注入
- 高一数学计算机教材,高一数学的教学计划
- 【软考】2018年下半年软件设计师上午试题及答案
- 励志:滴滴打车App初期是怎么推广的?
- 电驴怎么显示服务器列表,(转)如何更新电驴服务器列表(eMule Server List)
- python爬房源信息_Python爬取链家二手房源信息
- ClippingNode做游戏的新手指导
- 解决只读文件系统问题
- 在Python中实现对称矩阵
- Premiere 素材预览与基本剪辑
- 程序员升职记-汇报技巧:金字塔原理、MECE法则
- 用python读取csv文件并绘制波形及频谱
- 关于λ的矩阵是怎么算出来的?
热门文章
- c# 通过内存映射实现文件共享内存
- 如何在 ASP.Net Core 中实现 健康检查
- asp.net core集成CKEditor实现图片上传功能
- C# 中的 is 真的是越来越强大,越来越语义化
- 一次简单的服务器 cpu 占用率高的快速排查实战
- 我想快速给WPF程序添加托盘菜单
- .NET Core开发实战(第23课:静态文件中间件:前后端分离开发合并部署骚操作)--学习笔记(下)...
- 深入理解.NET Core的基元: deps.json, runtimeconfig.json, dll文件
- .NET Core3发布Json API
- netcore 中的动态代理与RPC实现(微服务专题)