本篇文章為大家展示了如何分析static關鍵字,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
static作為C語言中的關鍵字,其引入之初是為了解決局部變量在函數結束之后其值仍然可以得到保存的問題。隨后在C語言的拓展中,又增加了一個功能,修飾函數或變量的可見性為本文件。由此我們可以知道,static關鍵字在C語言中有兩個作用:一,修改變量;二,修飾函數。
一:static修飾變量
變量分為局部變量(函數體內定義的變量)和全局變量(函數體外定義的變量),不管其修飾的是局部變量還是全局變量,為變量分配的內存空間都在靜態區。
(1)靜態全局變量:
作用于僅限于變量被定義的文件中,其他文件即使使用了extern聲明也無法使用這個變量。從變量定義開始,到文件結尾這部分代碼可以使用這個靜態全局變量。變量定義之前的代碼或者其他文件中的代碼無法訪問這個變量。
(2)靜態局部變量:
由于局部變量的作用域本身就被限定在了函數體內,所以不存在是否在其他文件中使用的爭論,這里的static修飾,使得局部變量具有了全局變量的一些屬性。在函數第一次被執行時,靜態局部變量就被初始化,在函數執行完畢之后,這個靜態局部變量并不會被銷毀,而是繼續在內存中存在。在以后的函數執行中,這個變量的初始化語句不會被再次執行,但其賦值語句會每次都會被執行,函數執行完畢之后,變量的值就在內存中更新并不會銷毀。
二:static修飾函數
使得函數的訪問屬性變為只能在本文件中訪問。由于C語言有著比較悠久的歷史,在發展過程中,不想增加其他的關鍵字,所以使用了static這個關鍵字來賦予這個新的語法特性和含義。
上述內容就是如何分析static關鍵字,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。