2 5 變數屬性

2021-10-08 12:07:37 字數 1106 閱讀 9814

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 儲存期 指變數在記憶體中...