可以。靜態(tài)變量一旦被定義,內(nèi)存中分配給該變量的空間不會被釋放,直到掉電。但這和變量名相同與否是兩個概念,變量名只是內(nèi)存空間的一個名稱或者指示指針而已。如果兩個同名的靜態(tài)變量在兩個不同的函數(shù)內(nèi)部被定義,內(nèi)存分配時地址指針并不同,所有不會沖突。函數(shù)內(nèi)部定義的靜態(tài)變量在應(yīng)用時需要注意一個問題:如果該功能函數(shù)被兩個獨立的對象同時調(diào)用,該靜態(tài)變量是沖突的,此時該靜態(tài)變量必須被定義為獨立對象的成員。

成都創(chuàng)新互聯(lián)擁有網(wǎng)站維護技術(shù)和項目管理團隊,建立的售前、實施和售后服務(wù)體系,為客戶提供定制化的成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)站維護、綿陽主機托管解決方案。為客戶網(wǎng)站安全和日常運維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護服務(wù)覆蓋集團企業(yè)、上市公司、外企網(wǎng)站、購物商城網(wǎng)站建設(shè)、政府網(wǎng)站等各類型客戶群體,為全球千余家企業(yè)提供全方位網(wǎng)站維護、服務(wù)器維護解決方案。
靜態(tài)變量是一種生存期為整個源程序的量。雖然離開定義它的函數(shù)后不能使用,但如再次調(diào)用定義它的函數(shù)時,它又可繼續(xù)使用,
而且保存了前次被調(diào)用后留下的值。
第一個printf(
"%d\n",
func(k+=100)
);
k+=100,k就是200;
x++;
y++;
k++;
x=2,y=11,k=201;
所以第一次打印是214
第二個printf(
"%d\n",
func(k+=100)
);
k+=100,k就是300;
x++;
y++;
k++;
x=2,y=12,k=301;(y是靜態(tài)變量,原值不變)
所以第二次打印是315
第三個printf(
"%d\n",
func(k+=100)
);
k+=100,k就是400;
x++;
y++;
k++;
x=2,y=13,k=401;(y是靜態(tài)變量,原值不變)
所以第二次打印是416
關(guān)鍵字static的作用是什么?
這個簡單的問題很少有人能回答完全。在C語言中,關(guān)鍵字static有三個明顯的作用:
?; 在函數(shù)體,一個被聲明為靜態(tài)的變量在這一函數(shù)被調(diào)用過程中維持其值不變。
?; 在模塊內(nèi)(但在函數(shù)體外),一個被聲明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其它函數(shù)訪問。它是一個本地的全局變量。
?; 在模塊內(nèi),一個被聲明為靜態(tài)的函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調(diào)用。那就是,這個函數(shù)被限制在聲明它的模塊的本地范圍內(nèi)使用。
例子可以參考我的下面URL
c語言中靜態(tài)變量作常量使用,用于存儲常數(shù)。可用const,constant或final等關(guān)鍵字標識,其值就會在編譯時設(shè)定,并且無法在運行時改變。編譯器通常將靜態(tài)常量與文本一起置于目標文件的文本區(qū)域,而非常量初始化數(shù)據(jù)則置于數(shù)據(jù)區(qū);而如若有需要,有些編譯器還可選擇為其開辟專用區(qū)。
對于靜態(tài)全局變量來說,針對某一源文件的以static聲明的文件級變量與函數(shù)的作用域只限于文件內(nèi)(只在文件內(nèi)可見),也即“內(nèi)部連接”,因而可以用來限定變量的作用域。
擴展資料:
在函數(shù)內(nèi)以static聲明的靜態(tài)局部變量雖然與自動局部變量的作用域相同(即作用域都只限于函數(shù)內(nèi)),但存儲空間是以靜態(tài)分配而非默認的自動分配方式獲取的,因而存儲空間所在區(qū)域不同。
一般來說,靜態(tài)分配時存儲空間于編譯時在程序數(shù)據(jù)段分配,一次分配全程有效;而自動分配時存儲空間則是于調(diào)用棧上分配,只在調(diào)用時分配與釋放,且兩次調(diào)用間變量值始終保持一致;必須注意,靜態(tài)局部變量只能初始化一次,這是由編譯器來保證實現(xiàn)。
分享名稱:c語言靜態(tài)函數(shù)定義的變量 c語言靜態(tài)變量
標題鏈接:http://chinadenli.net/article2/doopeoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、微信公眾號、移動網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、網(wǎng)站建設(shè)、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)