C語言 關鍵字typedef,static

2021-10-24 15:02:58 字數 1817 閱讀 7693

關鍵字typedef

typedef顧名思義是型別定義,這裡應該理解為型別重新命名。

例:

//將unsigned int 重新命名為unit_32,所以unit_32也是乙個型別名

typedef

unsigned

int unit_32;

intmain()

關鍵字static

在c語言中,static是用來修飾變數和函式的。

1.static修飾變數

a. 函式中區域性變數:

b. 全域性變數

c. 修飾變數時,沒有被初始化時會被自動初始化為0

2.static修飾函式

//**1

#include

void

test()

intmain()

}

執行結果:

}執行結果:

結論:static修飾區域性變數改變了變數的生命週期,讓靜態區域性變數出了作用域依然存在,到程式結束,生命週期才結束。

注意:

int i =

0;//變數定義,只會被初始化一次,但是可以被多次賦值。

例2:修飾全域性變數

//**1

int g_val =

2020

;extern

int g_val;

//宣告變數

intmain()

//**2

static

int g_val =

2020

;intmain()

**1正常,**2在編譯的時候會出現連線性錯誤。

結論:乙個全域性變數被static修飾,使得這個全域性變數只能在本原始檔內使用。

例3:修飾函式

//**1

intadd

(int x,

int y)

extern

void

add();

//宣告函式

intmain()

```c

//**2

static

intadd

(int x,

int y)

intmain()

**1正常,**2在編譯的時候會出現連線性錯誤。

結論:乙個全域性變數被static修飾,使得這個全域性變數只能在本原始檔內使用。

# include

//全域性變數可以跨檔案使用(需要宣告)

//static修飾全域性變數,該變數只能在本檔案內使用

int g_val =

1234

;//函式也可以跨檔案訪問

//static修飾函式,該函式只能在本檔案內部被使用

void

show()

C語言關鍵字

c語言關鍵字 在檔案範圍的教訓和關鍵字,你知道靜態變數保持他們的價值觀,甚至不在他們超出範圍的破壞。比如說呢。int generateid int main this program prints 01 2 請注意,s nid一直保持它的價值的跨多個函式呼叫。static關鍵字有另一種意思當應用到全...

C語言關鍵字

關鍵字就是已被c語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變數名 函式名等 由ansi標準定義的c語言關鍵字共32個 auto double int struct break else long switch case enum register typedef char extern...

c語言關鍵字

c 語言標準定義的32 個關鍵字 1 auto 宣告自動變數,預設時編譯器一般預設為auto int 宣告整型變數 double 宣告雙精度變數 雙精度浮點型 long 宣告長整型變數 char 宣告字元型變數 float 宣告浮點型變數 單精度浮點型 6.1 float的有效位通常有 位,指的是小...