1. 對於全域性static變數,
初始化:首先是全域性變數,被初始化為0,其次是static也被初始化為0;
存放位置:存放於記憶體的靜態區。
作用域:開始於定義位置,終止於檔案的結尾。 本檔案之內在沒有定義此static全域性變數之前,想使用的話需要加extern宣告。(最好在檔案開始處就定義,避免使用extern)
static嚴格的把作用於限制在從定義開始到檔案結束的本檔案內。
2. 對於區域性static變數
初始化:初始化為0. (auto變數初始化的而是隨機值)
存放位置:靜態區
特殊性:不像auto區域性變數會自動**,static區域性變數不會因為函式結束執行而銷毀。
3. 對於static修飾的函式
這個static並不是指存放位置,而是起限制隱藏的作用,限制了只能此檔案內使用,其他檔案即使加了extern也不能使用。
c語言中static型別
靜態變數都儲存與靜態儲存區中。1.靜態區域性變數 靜態區域性變數屬於靜態儲存方式,它具有以下特點 1 靜態區域性變數在函式內定義 它的生存期為整個源程式,但是其作用域仍與自動變數相同,只能在定義該變數的函式內使用該變數。退出該函式後,儘管該變數還繼續存在,但不能使用它。2 允許對構造類靜態區域性量賦...
c語言中static作用
本文根據多篇網路部落格整合而成一.c程式一直由下列部分組成 1 正文段 cpu執行的機器指令部分 乙個程式只有乙個副本 唯讀,防止程式由於意外事故而修改自身指令 2 初始化資料段 資料段 在程式中所有賦了初值的全域性變數,存放在這裡。3 非初始化資料段 bss段 在程式中沒有初始化的全域性變數 核心...
C 語言中的static
static 在c語言中,關鍵字 static 有三個明顯的作用 1 在函式體,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。2 在模組內 但在函式體外 乙個被宣告為靜態的變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問。它是乙個本地的全域性變數。3 在模組內,乙個被宣告為靜態的...