C語言static關鍵字

2022-06-05 16:06:09 字數 579 閱讀 1948

#includevoid main()

void fn(void)

void fn_static(void)

int main(void)

#include//在乙個檔案中,使用另外乙個檔案的全域性變數,使用ertern引入即可

extern int num;

extern int num2;

int num =60;

void main()

int num = 10;

//普通全域性變數

static int num2 = 20;

//靜態全域性變數,只能在本檔案中使用,而不能在其他檔案使用

#include void fun1(void)

static void fun2(void)

#includeextern void fun1(void);

extern void fun2(void);

void fun2()

void main()

C語言關鍵字Static

c語言中static的語義 1.static變數 1 區域性 a.靜態區域性變數在函式內定義,生存期為整個源程式,但作用域與自動變數相同,只能在定義該變數的函式內使用。退出該函式後,儘管該變數還繼續存在,但不能使用它。b.對基本型別的靜態區域性變數若在說明時未賦以初值,則系統自動賦予0值。而對自動變...

c語言static關鍵字

以前一直覺得static關鍵字僅僅是定義乙個靜態的變數,今天在看書的時候發現一切沒那麼簡單,遂決定記錄下來。1.static關鍵字指明變數是乙個靜態變數,即static修飾的區域性變數並不是分配在棧中,而是分配在程式的靜態區中,所以在函式呼叫後其記憶體並不會被釋放。這裡需要注意乙個點,也就是說並不是...

C語言 關鍵字static

一 修飾區域性變數 靜態區域性變數 修飾前 include void test intmain return0 修飾後 include void test intmain return0 結論 static修飾區域性變數改變了變數的生命週期,讓靜態區域性變數出了作用域依然存在,到程式結束,生命週期才...