您好,登錄后才能下訂單哦!
小編這次要給大家分享的是淺談C語言靜態關鍵字static,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
靜態關鍵字static
C語言中,static關鍵字修飾變量和函數
1、局部變量
2、全局變量
3、函數
修飾局部變量
1、用靜態關鍵字static修飾的局部變量,在編譯的過程中,會在數據區為該變量開辟空間,并對其進行初始化,如果代碼中未對其進行初始化,則系統默認初始化為0
2、用static修飾的局部變量,會延長局部變量的壽命,超出函數的生存期
3、對靜態關鍵字修飾的局部變量的初始化
以下面兩個變量a和變量為b進行說明,在編譯過程中,發現變量a和b是靜態變量,會標識變量a與b,等到程序運行的時候,在主函數調用之前,對變量a和變量b分配空間,并對變量a進行初始化,由于變量b是由函數fun傳遞的參數進行初始化的,故會在程序調用函數時對變量b進行初始化,對變量b初始化之前,會檢查變量b的標識位,如果標識位為0,就會拿函數參數x對其進行初始化,標識位為1就不進行初始化
static int a = 0;
(編譯過程進行初始化)
static int b = x;
(運行該代碼的時候進行初始化)
void fun(int x) { static int a = 10; static int b = x; a++; b++; }
修飾全局變量變量
用靜態關鍵字static修飾全局變量的意義、
可見性不一樣,加上靜態關鍵字后,只對當前文件有效,對其他文件無效,并且有效區間從定義位置開始,一直到本文件結束
修飾函數
靜態關鍵字static修飾函數的意義
可見性不一樣,在函數前加上靜態關鍵字static,該函數也只能是當前文件可用,其他文件不可用
看完這篇關于淺談C語言靜態關鍵字static的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。