程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> volatile的深入理解--【sky原創】,volatile深入理解

volatile的深入理解--【sky原創】,volatile深入理解

編輯:關於C語言

volatile的深入理解--【sky原創】,volatile深入理解


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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved