快速了解C語言靜態(tài)關(guān)鍵字static的作用
靜態(tài)關(guān)鍵字static
C語言中,static關(guān)鍵字修飾變量和函數(shù)
1、局部變量
2、全局變量
3、函數(shù)
修飾局部變量
1、用靜態(tài)關(guān)鍵字static修飾的局部變量,在編譯的過程中,會在數(shù)據(jù)區(qū)為該變量開辟空間,并對其進行初始化,如果代碼中未對其進行初始化,則系統(tǒng)默認初始化為0
2、用static修飾的局部變量,會延長局部變量的壽命,超出函數(shù)的生存期
3、對靜態(tài)關(guān)鍵字修飾的局部變量的初始化
以下面兩個變量a和變量為b進行說明,在編譯過程中,發(fā)現(xiàn)變量a和b是靜態(tài)變量,會標識變量a與b,等到程序運行的時候,在主函數(shù)調(diào)用之前,對變量a和變量b分配空間,并對變量a進行初始化,由于變量b是由函數(shù)fun傳遞的參數(shù)進行初始化的,故會在程序調(diào)用函數(shù)時對變量b進行初始化,對變量b初始化之前,會檢查變量b的標識位,如果標識位為0,就會拿函數(shù)參數(shù)x對其進行初始化,標識位為1就不進行初始化
static int a = 0;
(編譯過程進行初始化)
static int b = x;
(運行該代碼的時候進行初始化)
void fun(int x) { static int a = 10; static int b = x; a++; b++; }
修飾全局變量變量
用靜態(tài)關(guān)鍵字static修飾全局變量的意義、
可見性不一樣,加上靜態(tài)關(guān)鍵字后,只對當(dāng)前文件有效,對其他文件無效,并且有效區(qū)間從定義位置開始,一直到本文件結(jié)束
修飾函數(shù)
靜態(tài)關(guān)鍵字static修飾函數(shù)的意義
可見性不一樣,在函數(shù)前加上靜態(tài)關(guān)鍵字static,該函數(shù)也只能是當(dāng)前文件可用,其他文件不可用
到此這篇關(guān)于快速了解C語言靜態(tài)關(guān)鍵字static的作用的文章就介紹到這了,更多相關(guān)C語言static關(guān)鍵字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言 數(shù)據(jù)結(jié)構(gòu)中求解迷宮問題實現(xiàn)方法
這篇文章主要介紹了C語言 數(shù)據(jù)結(jié)構(gòu)中求解迷宮問題實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-03-03c++ builder TreeView控件節(jié)點遍歷代碼
這篇文章介紹了c++ builder TreeView控件節(jié)點遍歷代碼,有需要的朋友可以參考一下2013-09-09C++中使用FFmpeg適配自定義編碼器的實現(xiàn)方法
本文介紹了在C++中使用FFmpeg庫進行自定義編碼器適配的實現(xiàn)方法。文章通過具體的代碼示例,介紹了FFmpeg的基本使用方法和自定義編碼器的實現(xiàn)過程,幫助讀者了解如何在C++中進行音視頻編碼和解碼的開發(fā)工作,并能夠?qū)崿F(xiàn)自定義的編碼器適配2023-04-04實例講解在C++的函數(shù)中變量參數(shù)及默認參數(shù)的使用
這篇文章主要介紹了在C++的函數(shù)中變量參數(shù)及默認參數(shù)的使用,是C++函數(shù)入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2016-01-01