国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C/C++編程筆記:靜態(tài)變量,一篇文章掌握C語(yǔ)言常用知識(shí)點(diǎn)

2020-12-24 22:28 作者:C語(yǔ)言編程__Plus  | 我要投稿

今天帶你學(xué)會(huì)C語(yǔ)言靜態(tài)變量知識(shí)!另外平安夜快樂(lè)哦~

靜態(tài)變量具有即使超出范圍也能保留其值的屬性!因此,靜態(tài)變量在其先前的作用域中保留其先前的值,而不會(huì)在新的作用域中再次初始化。


句法:

靜態(tài)數(shù)據(jù)類(lèi)型var_name = var_value;

以下是有關(guān)C中靜態(tài)變量的一些有趣事實(shí)。

1)程序運(yùn)行時(shí),靜態(tài)int變量保留在內(nèi)存中。當(dāng)聲明了該變量的函數(shù)調(diào)用結(jié)束時(shí),普通或自動(dòng)變量將被破壞。

例如,我們可以使用static int來(lái)計(jì)數(shù)一個(gè)函數(shù)被調(diào)用的次數(shù),但是自動(dòng)變量不能用于此目的。

例如下面的程序打印“ 1 2”


輸出:1 2

但是下面的程序打印1 1


輸出:1 1

2)靜態(tài)變量是在數(shù)據(jù)段而不是堆棧段中分配的內(nèi)存。

3)如果未顯式初始化靜態(tài)變量(如全局變量),則初始化為0。例如,在下面的程序中,x的值打印為0,而y的值則是垃圾。


輸出:0??[some_garbage_value]

4)在C語(yǔ)言中,只能使用常量文字初始化靜態(tài)變量。


請(qǐng)注意,這種情況在C ++中不成立。因此,如果將程序另存為C ++程序,它將編譯并運(yùn)行正常。

5)在C / C ++中,靜態(tài)全局變量和函數(shù)也是可能的。這樣做的目的是將變量或函數(shù)的范圍限制為文件。

6)靜態(tài)變量不應(yīng)在結(jié)構(gòu)內(nèi)部聲明。原因是C編譯器要求將整個(gè)結(jié)構(gòu)元素放在一起(即,結(jié)構(gòu)成員的內(nèi)存分配應(yīng)該是連續(xù)的)??梢栽诤瘮?shù)內(nèi)部聲明結(jié)構(gòu)(堆棧段)或動(dòng)態(tài)分配內(nèi)存(堆段),甚至可以是全局的(BSS或數(shù)據(jù)段)。無(wú)論哪種情況,所有結(jié)構(gòu)成員都應(yīng)駐留在同一內(nèi)存段中,因?yàn)榻Y(jié)構(gòu)元素的值是通過(guò)計(jì)算元素相對(duì)于結(jié)構(gòu)起始地址的偏移量來(lái)獲取的。單獨(dú)將一個(gè)成員分離到數(shù)據(jù)段將破壞靜態(tài)變量的目的,并且可能使整個(gè)結(jié)構(gòu)為靜態(tài)。

希望對(duì)大家有幫助!

另外如果你想更好的提升你的編程能力,學(xué)好C語(yǔ)言C++編程!彎道超車(chē),快人一步!筆者這里或許可以幫到你~

UP在主頁(yè)上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門(mén)教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!

編程學(xué)習(xí)書(shū)籍分享:


編程學(xué)習(xí)視頻分享:



C/C++編程筆記:靜態(tài)變量,一篇文章掌握C語(yǔ)言常用知識(shí)點(diǎn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
油尖旺区| 安陆市| 临桂县| 兴业县| 玉门市| 贵德县| 武平县| 文昌市| 体育| 集安市| 全州县| 峨边| 博兴县| 大港区| 茶陵县| 青田县| 德保县| 宣恩县| 新平| 庄河市| 铜鼓县| 阿拉尔市| 昆山市| 开平市| 杭州市| 拜泉县| 罗源县| 德州市| 彭州市| 永仁县| 石嘴山市| 中宁县| 霞浦县| 南丰县| 岗巴县| 庆城县| 霍山县| 固安县| 松原市| 定西市| 彭山县|