static用來說明靜態(tài)變量,并且static的作用分為以下三種:
10年積累的網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有洪山免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。1.修飾局部變量-稱為靜態(tài)局部變量
2.修飾全局變量-稱為靜態(tài)全局變量
3.修飾函數(shù)-稱為靜態(tài)函數(shù)
1.當static修飾局部變量時,使局部變量的生命周期延長,來段代碼說明:
a.??我們知道,局部變量進入時創(chuàng)建,出了作用域之后就銷毀了 ,而經(jīng)過static修飾過的局部變量的生命周期會延長,從而導致出了作用域之后局部變量不會被銷毀,也就是說代碼中的變量a一直存在,存儲在內(nèi)存中(a的地址也不變)。
static int a=1;//當代碼運行到這一段時會直接跳過這一行代碼,從而導致a的值產(chǎn)生累計的效果。
這樣解釋你如果可以理解的話,那么我們就進行更深入的解析。
b.??我們的內(nèi)存分三個區(qū):棧區(qū),堆區(qū),靜態(tài)區(qū)。
而:
int a = 1;//局部變量a是放在棧區(qū)的。進了作用域創(chuàng)建,出來作用域銷毀。
staic int a = 1;//此時a是靜態(tài)變量,是存儲在靜態(tài)區(qū)的。出了作用域不銷毀,直到程序結(jié)束才銷毀。
c.??所以綜上得出結(jié)論:static修飾的變量實際上是改變了變量在內(nèi)存中的存儲類型(使得變量從一開始的棧區(qū)轉(zhuǎn)移到靜態(tài)區(qū))從而導致生命周期延長,但是并不影響作用域。
2.static修飾全局變量時,將外部鏈接屬性變成了內(nèi)部鏈接屬性,使全局變量的作用域只能在該源文件中執(zhí)行。(全局變量是具有外部鏈接屬性的)
//這里extern是用來申明外部符號的。
僅僅加了一個static就開始報錯。
3.static修飾函數(shù)時,將外部鏈接屬性變成了內(nèi)部鏈接屬性,使函數(shù)的作用域只能在該源文件中執(zhí)行(與修飾全局變量十分類似)
?????????????????????????????????????????那么請留下您的足跡,咱們一起進步?。?!
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
本文題目:C語言之關(guān)鍵字static的作用(深度刨析)-創(chuàng)新互聯(lián)
瀏覽路徑:http://muchs.cn/article4/dgdpie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、建站公司、做網(wǎng)站、ChatGPT、企業(yè)網(wǎng)站制作、微信小程序
聲明:本網(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)