天天看點

c語言變量四個屬性,C語言的變量屬性

在定義變量的時候可以加上屬性關鍵字

1)auto

auto是C語言中,局部變量的預設屬性

auto表明将被修飾的變量存儲于棧上

編譯器預設所有的局部變量都是auto的

2)register

1.register關鍵字指明将局部變量存儲于寄存器中

2.register隻是請求寄存器變量,但是不一定成功

3.register變量必須是CPU寄存器可以接受的值

4.用&不能獲得register變量的位址(因為,&是獲得記憶體中的位址,而register變量是存儲于寄存器中,當然不能使用&來獲得register變量的位址)

3)static

1.static關鍵字指明了變量的”靜态“屬性

----static修飾的局部變量存儲在程式靜态區

2.static關鍵同時具有“作用域限定符”的意義

----static修飾的全局變量作用域隻是聲明的檔案中

----static修飾的函數作用域隻是聲明的檔案中

4)extern

1.extern用于聲明“外部”定義的變量和函數

----extern變量在檔案的其他地方配置設定空間

----extern函數在檔案的其他地方定義

2.extern用于“告訴”編譯器用C的方式編譯

C++編譯器和一些其他的C編譯器由于開發者不同,各個不同的編譯器會按照自己的方式編譯函數和變量,但是,當有了extern之後,就必須遵照“标準C的方式編譯程式“