C語言的基礎知識點總結

①關于變量存儲的內存分布

C語言把保存所有變量的數據區(qū)分為動態(tài)存儲區(qū)和靜態(tài)存儲區(qū)。動態(tài)存儲區(qū)使用堆棧來管理的,適合函數動態(tài)分配與回收存儲單元。而靜態(tài)存儲區(qū)相對固定,管理比較簡單,食欲存放全局變量和靜態(tài)變量。在靜態(tài)存儲區(qū)中,除了全局變量外,還有另外一種特殊的局部變量--靜態(tài)局部變量。它存放在靜態(tài)存儲區(qū),不會像普通的局部變量那樣因為函數調用結束而被系統(tǒng)回收,它的生命周期會持續(xù)到程序結束。由于存儲單元被保留,一旦含有靜態(tài)局部變量的函數被再次調用,則靜態(tài)局部變量會被重新激活,上一次函數調用后的值仍然保存著,可以供本次調用繼續(xù)使用。
靜態(tài)變量定義格式:
static 類型名 變量表?
static double f =1;

局部變量又稱為自動變量。自動變量如果沒有賦初值,其存儲單元中將是隨機值。就靜態(tài)變量而言,如果定位時沒有賦初值,系統(tǒng)自動賦0,并且賦初值只在函數第一次調用時起作用,以后調用都按前一次調用保留的值使用。這是因為靜態(tài)局部變量的生存周期始于函數的第一次調用,貫穿于整個程序,當函數第一次調用時,靜態(tài)局部變量的內存單元得以分配,賦以處置,而函數被再次調用時,此靜態(tài)局部變量已經存在,計算機不會為它分配單元,賦初值也不再發(fā)生。但靜態(tài)局部變量受變量作用范圍限制,不能作用于其他函數。

靜態(tài)變量(靜態(tài)局部變量,靜態(tài)全局變量)和全局變量都位于靜態(tài)存儲區(qū),他們的共同特點是生存周期貫穿于真?zhèn)€程序執(zhí)行過程。區(qū)別在于作用范圍不同,全局變量可作用于所有的函數,靜態(tài)變量只能用于所定義的函數。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1. 結構體和共同體的區(qū)別。 定義: 結構體struct:把不同類型的數據組合成一個整體,自定義類型。共同體uni...
    breakfy閱讀 2,269評論 0 22
  • 1、c語言的函數有以下特點: (1)才源程序由函數組成,一個主函數main()+若干其他函數 C程序中的函數類似文...
    滕王閣序閱讀 1,520評論 0 6
  • 1. C++基礎知識點 1.1 有符號類型和無符號類型 當我們賦給無符號類型一個超出它表示范圍的值時,結果是初始值...
    Mr希靈閱讀 18,158評論 3 82
  • 《文學里的動物》 目錄 蛇殤 追兇 藏兇 跳崖 鬼嘶 飛蟄 奇溺 核變 牧蟲 夜逃 尾說 啄磨...
    孤獨一刀閱讀 767評論 8 7
  • 每一個傳統(tǒng)節(jié)日都有特定吃食,如冬至吃湯丸,中秋吃月餅,端午節(jié)吃粽子,民以食為天在節(jié)日里彰顯出隆重的儀式感。 在潮汕...
    mimi播報閱讀 339評論 3 6

友情鏈接更多精彩內容