屬性關鍵字 auto ,static register
Auto c語言中的變量可以有自己的屬性
在定義的時候可以加上“屬性”關鍵字
屬性關鍵字指明變量有特殊的意義
auto
1、auto 是c語言中所有的局部變量的默認屬性,自動創建,函數完畢自動釋放的
2、在棧裏分配的空間,
Static
1、static 關鍵字指明變量的靜態屬性,
2、全局變量的默認爲靜態屬性,但不加static可以外調,但是加了static 就不可以外調,
3、函數的使用,用static修飾的函數限定只能在本文件內使用
4、全局變量的默認是靜態屬性,加上static 表示只能在本文件內使用
5、在函數裏修飾的話,只初始化一次。能在函數內部使用,但不會被銷
6、作爲全局變量作用域從定義處開始直到文件結尾,定義處前面要引用的話必須加 extern
// 參考: 1、初始的用途是定義的局部靜態屬性,後來又定義了一個限制在本文件內使用
Register
1、register 關鍵字指明變量存儲在寄存器中
2、Registere只是請求放在寄存器中,不一定能申請的到
3、ERROR register 變量必須是cpu可接受的值,
4、不能用&運算符獲取register變量的地址,對實時性要求特別高的話就需要用寄存器變量
//全局變量 設爲auto 或者register變量,全局變量的默認是全局靜態區分配的,
而 用這個的話會產生警告,甚至有的編譯器直接報錯