c語言中static關鍵字的作用

2021-10-20 20:53:44 字數 438 閱讀 2418

c語言中static修飾變數和修飾函式的作用不同

(1)在修飾變數的時候,static 修飾的靜態區域性變數只執行初始化一次,而且延長了區域性變數的生命週期,直到程式執行結束以後才釋放。

(2)static 修飾全域性變數的時候,這個全域性變數只能在本檔案中訪問,不能在其它檔案中訪問,即便是 extern 外部宣告也不可以。

(3)static 修飾乙個函式,則這個函式的只能在本檔案中呼叫,不能被其他檔案呼叫。static 修飾的變數存放在全域性資料區的靜態變數區,包括全域性靜態變數和區域性靜態變數,都在全域性資料區分配記憶體。初始化的時候自動初始化為 0。

(4)區域性變數不想被釋放的時候,可以使用static修飾。比如修飾函式中存放在棧空間的陣列。如果不想讓這個陣列在函式呼叫結束釋放可以使用 static 修飾。

(5)考慮到資料安全性(當程式想要使用全域性變數的時候應該先考慮使用 static)。

C語言中的static關鍵字

c語言中的變數 1.自動變數。變數在執行到他的塊尾時就超出了作用域,它在堆疊上分配的記憶體會被釋放,以供另乙個函式使用。它們是在宣告時自動建立的,在程式退出宣告它的塊後自動刪除。2.全域性變數。可以在任意位置訪問,它的宣告方式和一般變數相同,但是它的位置非常重要,這個位置決定了變數是否為全域性變數。...

C語言中的static關鍵字

static關鍵字,意為靜態。靜態區域性變數void add test 靜態全域性變數 c程式一直由下列部分組成 1 正文段 cpu執行的機器指令部分 乙個程式只有乙個副本 唯讀,防止程式由於意外事故而修改自身指令 2 初始化資料段 資料段 在程式中所有賦了初值的全域性變數,存放在這裡。3 非初始化...

C語言中static關鍵字用法

static關鍵字在c語言中比較常用,使用恰當能夠大大提高程式的模組化特性,有利於擴充套件和維護。變數1.區域性變數 普通區域性變數是再熟悉不過的變數了,在任何乙個函式內部定義的變數 不加static修飾符 都屬於這個範疇。編譯器一般不對普通區域性變數進行初始化,也就是說它的值在初始時是不確定的,除...