volatile是C语言中的一种类型修饰符,用它声明的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或其它线程等。遇到它声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。当要求使用volatile声明的值时,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取数据立即被保存。

转载于:https://www.cnblogs.com/PursuitOnly/archive/2012/12/26/2834283.html

C语言关键字--volatile(不稳定的,反复无常的)相关推荐

  1. c语言 关键字volatile和register

    volatile volatile是防止编译器优化,如果是高频繁的变量编译器会自动将变量放到寄存器中,但是有的变量需要实时更新不能间断,放到寄存器中会隔一段时间再去获取变量,导致变量的值不在准确 re ...

  2. amp quot memory c语言,c volatile 关键字

    C++ volatile 关键字- 简书 2017年1月1日 - 注意:本文中代码均使用Qt 开发编译环境volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改. ...

  3. 【译】volatile C语言关键字,如何使用?

    原文 概要 许多程序员无法正确的理解C语言关键字volatile.这并不奇怪,大多数C原因书籍不过一两句一带而过.本文将告诉你如何正确使用它. 在C/C++嵌入式代码中,你是否经历过下面的情况: 代码 ...

  4. C语言再学习 -- 关键字volatile

    上周确实事情挺多的,年会.公司聚餐,一到过年就有忙不完的事分心.还好C语言再学习总结的已经差不多了,年前也不展开别的了,接下来这十几天.总结几篇典型的面试题吧. 言归正传,接下来看看关键字 volat ...

  5. C语言中的关键字“ volatile”的用法(摘)

    C语言中的关键字" volatile"的用法(摘) volatile 这个ANSI C 关键字在经典的C 教程中很少提及,高层编程的人也可能永远都 不会用到,但是作为嵌入式开发者来 ...

  6. C语言:关键字volatile详解!

    一.volatile 介绍 参看:volatile详解 参看:C Language Keywords Indicates that a variable can be changed by a bac ...

  7. C语言面试题小练——第10天:宏定义一年的秒数、变量定义练习、关键字volatile有什么含意

    文章目录 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 2. 用变量a给出下面的定义 3. 关键字volatile有什么含意?并给出三个不同的例子. 1. 用 ...

  8. C语言基础 — 关键字volatile有什么含意? 三个不同的例子。

    关键字volatile有什么含意? 并给出三个不同的例子. 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了.精确地说就是,优化器在用到这个变量 ...

  9. C++的关键字 volatile

    volatile 就象大家更熟悉的const一样,volatile是一个类型修饰符(type specifier).它是被设计用来修饰被不同线程访问和修改的变量.如果没有volatile,基本上会导致 ...

最新文章

  1. opencv通道拆分与合并:split和merge
  2. 关于 Java 性能调优的 11个简单技巧,多少人知道?
  3. noip2010关押罪犯
  4. 0115互联网新闻 | 王欣发布“马桶MT”;字节跳动发布“多闪”;罗永浩新社交软件“聊天宝”已上架苹果App Store...
  5. python笔记全_Python笔记
  6. 【转】qt触摸屏隐藏鼠标指针
  7. 马斯克亲口承认:自动驾驶的开发难度超乎想象;小米再发1.2亿股权激励;Firefox Lite 已死|极客头条...
  8. Linux系统安装oracle时,orainstRoot.sh,root.sh脚本的作用。
  9. java 日期 yyyy_java日期中YYYY与yyyy的区别
  10. UIImagePickerController 获取相片视频
  11. Lua包管理工具Luarocks详解
  12. NLP--解决Mac OS 10.14.4Python下pip install pyhanlp 失败
  13. ASP.NET_各个币种之间的汇率转换(实时)使用Yahoo汇率。
  14. C/C++可变参数列表参数处理方法va_list、va_start()、va_copy()、va_arg()、va_end()
  15. 问题解决:Too many errors! 3 errors were dropped
  16. 适用于DSP的四阶矩阵求逆算法
  17. git拉取代码出现Unpacking objects
  18. linux环境中设定开机自启动与定时任务
  19. 【自学Docker 】Docker ps命令
  20. 一文看懂HTTPS、证书机构(CA)、证书、数字签名、私钥、公钥

热门文章

  1. SQL Server 迁移数据到MySQL
  2. Java那些事之Berkeley DB
  3. Maven pom.xml 全配置(一)常用配置
  4. 类 property属性
  5. MongoDB之python简单交互(三)
  6. 常用SQL语句和HQL语句写法
  7. Intger To Roman
  8. oracle用户创建及权限设置
  9. B-Tree索引在sqlserver和mysql中的应用
  10. mac下,svn配置