亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

靜態變量的實現方法

發布時間:2021-03-05 13:47:55 來源:億速云 閱讀:118 作者:小新 欄目:開發技術

這篇文章主要介紹了靜態變量的實現方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

  靜態變量(StaticVariable)在計算機編程領域指在程序執行前系統就為之靜態分配(也即在運行時中不再改變分配情況)存儲空間的一類變量。與之相對應的是在運行時只暫時存在的自動變量(即局部變量)與以動態分配方式獲取存儲空間的一些對象,其中自動變量的存儲空間在調用棧上分配與釋放。

  靜態變量概念與定義

  “靜態變量”這一術語有兩個容易混淆的定義:

  語言無關的通用定義:與程序有著相同生命周期的變量;

  C族語言特有的定義:以static存儲類聲明的變量。

  而在以Pascal為代表的許多程序語言中,所有局部變量都由系統自動分配存儲空間,而所有全局變量的存儲空間則以靜態分配的方式獲取(對應“靜態變量”),因此由于實際上“局部變量”和“全局變量”這兩個術語已足以涵蓋所有的情況,在這些程序語言中通常不使用“靜態變量”這一術語,而直接以“全局變量”代之。一般來說,在這些程序語言中,靜態變量就是全局變量,而即使在有明確區分全局和靜態變量的程序語言中,在編譯后的代碼里二者也以相同的方式獲取存儲空間。而今術語“靜態變量”的概念則主要基于C族語言的“static”的定義(即定義2)。

  靜態變量也可以用于存儲常數。具體來說,靜態變量(全局變量及匯編語言里定義的符號亦同)可用const,constant或final(根據語言決定)等關鍵字標識,這時其值就會在編譯時設定,并且無法在運行時改變。編譯器通常將靜態常量與文本一起置于目標文件的文本區域,而非常量初始化數據則置于數據區;而如若有需要,有些編譯器還可選擇為其開辟專用區;為防止常數變量被錯誤的指針寫入覆蓋,亦可在這塊區域啟用內存保護機制。

  C族語言中的靜態變量實現

  在C語言及由其派生出的C++與Objective-C等程序語言中,“static”是用于控制變量的生命周期和連接方式(即其作用域,亦即可見性)的保留字。確切來說,正如C族語言中的extern,auto與register這些保留字一樣,static也是一種存儲類(此處的“類”與面向對象語言的“類”的定義不同)標識。每個變量與函數都有以上的一種存儲類標識,如果在聲明中沒有明確標識其存儲類,編譯時就會根據上下文來選擇其默認存儲類,如在源文件里的所有文件級變量對應的默認存儲類是extern,而在函數體內的變量對應的則是auto,各存儲類的屬性所列。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“靜態變量的實現方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庐江县| 六盘水市| 阿鲁科尔沁旗| 竹北市| 鄄城县| 海阳市| 瑞丽市| 雷波县| 深水埗区| 阿巴嘎旗| 晋江市| 松江区| 保山市| 夹江县| 秦皇岛市| 巴楚县| 泌阳县| 康保县| 丰顺县| 大城县| 株洲市| 古浪县| 林西县| 衡东县| 砚山县| 湾仔区| 阿合奇县| 涿鹿县| 琼中| 荃湾区| 确山县| 靖江市| 锡林浩特市| 太和县| 岳普湖县| 弥勒县| 永仁县| 南雄市| 泊头市| 峨边| 荥阳市|