C語言中static相關

2021-06-05 01:19:43 字數 461 閱讀 7163

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 在模組內,乙個被宣告為靜態的...