static的三個作用

2021-06-22 21:07:29 字數 642 閱讀 4033

static的三個作用:

這個簡單的問題很少有人能回答完全。

在c語言中,關鍵字static有三個明顯的作用:

1 在函式體,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。

2 在檔案內(但在函式體外),乙個被宣告為靜態的變數可以被檔案內所用函式訪問,但不能被檔案外其它函式訪問。它是乙個本地的全域性變數。

3在模組內,乙個被宣告為靜態的函式只可被這一模組內的其它函式呼叫。那就是,這個函式被限制在宣告它的模組的本地範圍內使用。大多數應試者能正確回答第一部分,一部分能正確回答第二部分,同是很少的人能懂得第三部分。

靜態 和非靜態這兩者的區別雖在於非靜態全域性變數和

函式的作用域是整個

源程式, 

當乙個源程式由多個

原始檔組成時,非靜態的

全域性變數和函式在各個原始檔中都是有效的。

而靜態全域性變數和函式則限制了其作用域,即只在定義該變數和函式的原始檔內有效,在同一源程式的其它原始檔中不能使用它。

由於靜態全域性變數和函式的作用域侷限於乙個原始檔內,只能為該原始檔內的函式公用, 

因此可以避免在其它原始檔中引起錯誤。

靜態 static 長期 全域性(單個檔案)

static關鍵字的作用(有三個作用)

1 具有隱藏的作用 當同時編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性。2 保持變數內容的持久 儲存在靜態資料區的變數會在程式剛開始執行時就完成初始化,也是唯一的一次初始化。共有兩種變數儲存在靜態儲存區 全域性變數和static變數,只不過和全域性變數比起來,stat...

描述undo的三個作用

1 rollback 1 乙個事務開始,生成乙個事務 id 找事務 counter 2 讀取系統事務表,找到乙個回滾段 找相對空閒的 讀取回滾段的段頭塊 段頭裡面有很多行,找到其中空閒的行,把事務id寫進去,寫進去之後乙個事務就開始了,乙個事務槽盛放乙個事務 id,也就是說乙個事務開始了需要找到事務...

Sevlet中的三個作用域

servlet 中常用來儲存資料的三大作用域 按照使用範圍從小到大排列為 三個作用域,下邊詳細介紹這三個作用域。存入資料的方法request.setattribute user user 這裡是把 user 放入到request 作用域中,key是 user,value 是user 此作用域儲存的資...