面試頻率最高的關鍵字 static

2021-07-11 09:10:10 字數 906 閱讀 9824

談談你對static

關鍵字的理解?

static既能夠修飾變數,又能夠修飾函式。

static修飾變數的時候,既能夠修飾區域性變數,又能修飾全域性變數。

區域性變數原來是儲存在棧空間的,當static

修飾區域性變數的時候,我們稱之為靜態區域性變數。它改為儲存在記憶體的全域性資料區中的靜態資料區,當沒有對它進行初始化的時候,系統預設初始化為

0,並且

static

區域性變數在所處模組在初次執行時進行初始化工作, 且只操作一次。static

修飾的區域性變數之後,可以延長區域性變數的使用週期,原來它只在函式或語句塊呼叫結束後釋放,現在延遲到程式結束。

特點: static

區域性變數的」記憶性」與生存期的」全域性性」

所謂」記憶性」是指在兩次函式呼叫時, 在第二次呼叫進入時, 能保持第一次呼叫退出時的值.

static修飾全域性變數的時候我們稱之為靜態全域性變數。它儲存在全域性資料區內的靜態儲存區(靜態儲存區在整個程式執行期間都存在),為對其初始化的時候,系統會預設初始化為

0,靜態全域性變數只能在本檔案中使用,不能在其他檔案訪問。它作用域準確地講從定義之處開始到檔案結尾。

為什麼要定義static

全域性變數呢?(定義靜態全域性變數的好處)

(1)全域性變數很危險,容易被修改,而靜態全域性變數不會被其他檔案所訪問,修改

(2)其他檔案中可以使用相同的名字的變數,不會發生衝突。

static修飾函式的時候我們稱之為靜態函式。

函式的定義和宣告預設情況下是extern

的,但靜態函式只是在宣告他的檔案當中可見,不能被其他檔案所用。

你為什麼要定義靜態函式呢?(定義靜態函式的好處:)

(1)其他檔案中可以定義相同名字的函式,不會發生衝突

(2)靜態函式不能被其他檔案所用。

面試 static關鍵字

static可以修飾變數和函式 修飾函式 改變該函式的連線屬性,表明該函式只能在當前檔案中使用 修飾變數 全域性變數 表明該變數只能在當前檔案中使用 函式體中的區域性變數 1.延長該變數的生命週期 和成員函式的生命週期一樣 2.類似該變數具有記憶的功能 3.存放位置不同於函式體中的區域性變數 因為c...

面試之關鍵字extern C

extern c 的作用及原因?答 1.作用是在c 語言裡面可以正確的呼叫c語言函式 原因是因為c 編譯時為了能支援函式過載以及多型的問題,會將函式名和引數聯合起來生成乙個中間的新函式名,鏈結時找的都是新的函式名,而對於c語言來說,不會產生新的函式名,所以在c 中用c語言的函式時,如果沒有特殊宣告,...

面試總結之關鍵字

1.ststic 1 修飾函式,只能在宣告他的原始檔中使用 在大型專案中,防止不同檔案中函式重名時使用。2 修飾儲存型別使之成為靜態儲存型別,修飾後的變數儲存在資料段,初值為0 分為兩種 b.修飾區域性變數 改變生命週期,函式呼叫結束不再釋放,整個程式執行結束釋放 區域性變數儲存在棧空間,stati...