c語言中的變數可以有自己的屬性
在定義變數的時候加上屬性關鍵字:
auto關鍵字:
-auto即c語言中的區域性變數的屬性;
-auto表明將被修飾的變數儲存在棧上
-編譯器預設所有的區域性變數都是auto
register關鍵字
-register關鍵字指明將區域性變數儲存於暫存器中;
-register變數只是請求暫存器變數,但是不一定請求成功;
-register變數必須是cpu暫存器可以接受的值;
-不能用&運算子獲取register變數的位址;
#include
//register int g_v; //error
int main()
static關鍵字
-static關鍵字指明變數的靜態屬性,static修飾的區域性變數儲存在程式的靜態區;
-static關鍵字同時具有「作用域限定符」的意義
1. static修飾的全域性變數作用域只是生命的檔案中;
2.static修飾的函式作用域只是宣告的檔案中
#include
int g_v; //全域性變數,程式的任何位址均可以訪問
static int g_vs; //靜態全域性變數,只有當前檔案中可以訪問
int main()
auto,register,static三個關鍵字的比較
示例如下:
#include
int f1()
int f2()
int main()
for(i=0; i<5; i++)
return 0;
}輸出結果如下:
extern關鍵字
extern用於申明外部定義的變數和函式
-extern變數在檔案的其他地方分配空間
-extern函式在檔案的其他地方定義
-extern用於告訴編譯器用c方式編譯
例如:extern "c"
int f (int a , int b)
return a+b;
條件變數屬性 時鐘屬性
條件變數有兩個屬性 程序共享屬性 時鐘屬性。1 程序共享屬性 條件變數與互斥量的共享屬性的用法一樣 int pthread condattr init pthread condattr t attr int pthread condattr destroy pthread condattr t at...
05 變數屬性
注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 14.04 gcc版本 4.8.4 一 c語言的變數屬性 c語言中的變數可以有自己的屬性 在定義變數的時候可以加上 屬性 關鍵字 屬性 關鍵字指明變數的特有意義 語法 property type var name...
變數屬性總結
乙個變數除了資料型別以外,還有3種屬性 1 儲存類別 c 允許使用auto,static,register,extern4種儲存類別 函式中的區域性變數,如果不加static宣告,預設就是自動變數 靜態區域性變數 靜態外部變數 2 作用域 指在程式中可以引用該變數的區域 3 儲存期 指變數在記憶體中...