在定義變量的時候可以加上屬性關鍵字
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的方式編譯程式“