日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

c语言输出王字图形,专一的王子,C语言volatile关键字解析

發(fā)布時(shí)間:2024/3/13 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言输出王字图形,专一的王子,C语言volatile关键字解析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

你明天 有一個(gè)朋友要過生日,今天把要送的禮物打包好了,一般情況下,我們明天起來不需要再次打開驗(yàn)證一下里面的禮物是否存在,因?yàn)槲覀冎?#xff0c;只要禮物的外包裝沒有動(dòng)過,里面的東西應(yīng)該也沒有動(dòng)過。其實(shí)編譯器和人一樣聰明,為了提高效率也會(huì)玩省事,做優(yōu)化。

如下面的例子:

編譯器掃描了代碼發(fā)現(xiàn)上面,第一行代碼將10賦給了整型變量a,之后a變量的值沒有再發(fā)生變化,在后面的第二行中,將a變量的值取出來賦給b,在第三行代碼里面將a變量的值賦給了c的時(shí)候,因?yàn)镃PU訪問內(nèi)存速度慢,編譯器為了提高效率,玩“省事”,直接將10賦給了c。

單從上面的代碼我們來看是沒有問題的,就如同從外包裝看生日禮物完好一樣。但是,如果上述代碼運(yùn)行在多線程中,在一個(gè)線程上下文中沒有改變它的值,但是我們卻不能保證變量的值沒有被其他線程所改變,就好比是,生日禮物放在其他人那里保管,我們不敢100%的確定它里面的東西完好。當(dāng)然這種數(shù)據(jù)不一致的機(jī)制不僅僅出現(xiàn)在多線程中,同樣在設(shè)備的狀態(tài)寄存器里也會(huì)存在。例如,網(wǎng)卡里的某狀態(tài)寄存器里的值是否為1表示是否有網(wǎng)絡(luò)數(shù)據(jù)到達(dá),在當(dāng)前時(shí)刻其值為1,不能代表下一時(shí)刻它的值還是1,它的值有外界決定,編譯器肯定不能在這種情況下玩“省事”,為了防止在類似的情況下編譯器玩省事,可以將這些變量聲明為volatile,這樣不管它的值有沒有變化,每次對(duì)其值進(jìn)行訪問的時(shí)候,都會(huì)從內(nèi)存里,寄存器了讀取,保證數(shù)據(jù)的一致、做到表里如一。

總結(jié)

以上是生活随笔為你收集整理的c语言输出王字图形,专一的王子,C语言volatile关键字解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。