zoukankan      html  css  js  c++  java
  • volatile的深入理解--【sky原创】

    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

  • 相关阅读:
    面向对象和面向过程的区别
    k-means算法
    win10系统下安装mysql
    python并发编程之多进程
    操作系统的概念
    前端基础之html
    聚类分析
    决策树
    Mysql
    SQL练习题
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/4140490.html
Copyright © 2011-2022 走看看