国产韩国精品一区二区三区,一本色道综合久久加勒比,亚洲欧洲中文日韩久久av乱码,国产一区二区女内射,亚洲精品无码成人片在线观看

static變量放哪里區域(static關(guān)鍵字基本概念和應用)

接上文:C語(yǔ)言的32個(gè)關(guān)鍵字

C語(yǔ)言 static 關(guān)鍵字的常見(jiàn)用法有三種:

用于局部變量的修飾符;用于全局變量的修飾符;用于函數的修飾符。

1、用于局部變量的修飾符

當 static 用于修飾局部變量時(shí),通常是在某個(gè)函數體內,只能在該函數內被調用。

這樣定義的變量通常被稱(chēng)為局部靜態(tài)變量,它的值不會(huì )因為函數調用的結束而被清除,當函數再次被調用時(shí),它的值是上一次調用結束后的值。

如下面這段代碼所示,變量 x 是局部變量,變量 y 是靜態(tài)局部變量。在調用函數后,變量 x 的值會(huì )被清除,而變量 y 的值則會(huì )被保留。多次調用該函數,變量 x 每次都會(huì )從新初始化,而變量 y 的值則不會(huì )。

靜態(tài)局部變量的特性:

存儲位置:處于靜態(tài)存儲區,當用 static 修飾局部變量的時(shí)候,它就改變了局部變量的存儲位置,從原來(lái)的棧中存放改為靜態(tài)存儲區;初始化操作:未經(jīng)初始化的局部靜態(tài)變量會(huì )被程序自動(dòng)初始化為0(自動(dòng)對象的值是任意的,除非他被顯示初始化);作用域:為局部作用域,即當定義它的函數結束的時(shí)候,作用域隨之結束(不能被訪(fǎng)問(wèn))。但是靜態(tài)局部變量在離開(kāi)作用域之后,并沒(méi)有被銷(xiāo)毀,而是仍然保存在內存當中,直到程序結束。

變量在內存的不同區域介紹

2、用于全局變量的修飾符

關(guān)鍵字 static 還可用于修飾全局變量,該變量在某一個(gè)文件中變量,但不屬于任何一個(gè)函數內,這樣的變量通常稱(chēng)為靜態(tài)全局變量。

靜態(tài)全局變量的存儲位置、初始化操作同靜態(tài)局部變量的特性,但其作用域有所不同:靜態(tài)全局變量可以被該文件內的所有函數訪(fǎng)問(wèn),但不能被其它文件內的函數訪(fǎng)問(wèn)。

3、用于函數的修飾符

關(guān)鍵字 static 還可以用于修飾一個(gè)函數,這樣的函數稱(chēng)之為靜態(tài)函數。

定義一個(gè)靜態(tài)函數就是在函數的返回類(lèi)型前加上 static 關(guān)鍵字。

靜態(tài)函數的作用域僅限于本文件,不能被其它文件調用。

上一篇:

下一篇:

? 推薦閱讀

分享
国产韩国精品一区二区三区,一本色道综合久久加勒比,亚洲欧洲中文日韩久久av乱码,国产一区二区女内射,亚洲精品无码成人片在线观看