博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
volatile的深入理解--【sky原创】
阅读量:5890 次
发布时间:2019-06-19

本文共 482 字,大约阅读时间需要 1 分钟。

volatile
所有定义的变量都是在内存上面的, 
例如:
int i = 10;
int j = i;
int k = i;
 
i = 10; 是初始化的变量,存放在数据段,未初始化的变量存放在bss段
也就是i为左值时存放在内存上
j = i 此时 i 为右值,那么i的值在寄存器上,j就从寄存器上面取值
由于编译器的原因可能导致编译过程中寄存器上的值会改变
,那么 k 取到的值就不是我们想要的了
如果加了volatile int k = i ;
那么k每次就从内存上取值,保证了取值的正确性
 
 

新浪博客:http://blog.sina.com.cn/u/2049150530

csdn博客:http://blog.csdn.net/u011749143
博客园:http://www.cnblogs.com/sky-heaven/
新浪微博:张昺华--sky
知乎:http://www.zhihu.com/people/zhang-bing-hua

转载于:https://www.cnblogs.com/sky-heaven/p/4140490.html

你可能感兴趣的文章
趣头条发行区间7至9美元 预计9月14日美国上市
查看>>
新北市长侯友宜:两岸交流应从隔壁最亲近的人开始
查看>>
全面屏的Nokia X即将上线,不到2000元的信仰你要充值吗?
查看>>
HTML5音频audio属性
查看>>
ES6学习
查看>>
Centos7搭建Django环境
查看>>
序列化一个Intent
查看>>
JavaScript数据类型及语言基础--ife
查看>>
进阶 Nginx 高手必须跨越的 5 座大山
查看>>
国内首例:飞步无人卡车携手中国邮政、德邦投入日常运营
查看>>
“迁移策略+新容器运行时”应对有状态应用的冷热迁移挑战
查看>>
2019数据库趋势报告,最受欢迎的是MySQL
查看>>
敏捷的忠实拥护者David Hussman于8月18日去世
查看>>
PHP仿微信多图片预览上传功能
查看>>
Swift论坛正式启用
查看>>
性能优化:一个全栈问题
查看>>
腾讯云工业互联网助力平台发布 推动制造业“数字化”蝶变
查看>>
live555编译
查看>>
部署P2P升级的脚本
查看>>
jenkins--ant持续集成测试build文件脚本 测试报告
查看>>