C 中變數的型別

2021-09-30 12:37:35 字數 698 閱讀 4954

c++變數的作用域有多種,綜述:

(1)作用域為全域性的變數在定義位置到檔案結尾之間都可用

(2)自動變數的作用域為區域性

(3)靜態變數的作用域是全域性還是區域性取決於它是如何被調定義的

1.自動變數

a.函式中宣告的函式引數和變數

b.**塊中定義的變數

c++編譯器對自動變數的實現為,程式留出一段記憶體,並將其視為棧(由於新資料放在原資料的上面,且新資料會最先被銷毀,類似棧),當程式使用完該自動變數時,會將其從棧中刪除。當函式或者**塊執行結束的時候,自動變數將不再存在

2.靜態變數

不論哪種鏈結性變數,在整個程式的執行過程中,會一直存在,與自動變數相比,它們的壽命更長。如果未進行初始化,編譯器將其初始化為0;

自動變數和靜態變數最大的區別在於:編譯器對兩者的處理不一樣,對自動變數,採用棧;對靜態變數,編譯器將分配固定的記憶體塊來儲存所有的靜態變數,這些變數在整個程式的執行期間一直存在。

c++提供兩種變數的宣告:

一種是定義宣告,即定義;它給變數分配儲存空間,可進行初始化,有兩種方式

int a;

extern int a = 1;//進行初始化

另一種是引用宣告,它不給變數分配儲存空間

如果在多個檔案中使用外部變數(全域性,且具有外部鏈結性),只需在乙個檔案中包含該變數的定義,但在使用該變數的其他所有檔案中,都必須使用關鍵字extern宣告它。

C 中的 const 型別變數

之前總感覺c c 中有const 限定的變數是個很頭痛的問題,一會兒能夠變。一會兒不能夠變,一會兒把const賦給nonconst,一會兒又把nonconst賦給const,頭都被它搞大了。今天剛好把 c primer 中的相關部分又讀了一遍,所以就把相關的內容寫出來總結一下啦!首先,我們能夠想想為...

C 中的基本變數型別介紹

int main 變數的宣告 extern int a,b extern int c extern float f 函式宣告 int func int main 函式定義 int func 變數是左值,因此可以出現在賦值號的左邊。數值型的字面值是右值,因此不能被賦值,不能出現在賦值號的左邊。int ...

C 變數型別

參考文獻 類 型 類 別 後 綴 示例 允許的值 bool布林 無 true 或 false int,uint,long,ulong 整數 無 100 uint,ulong 整數 u 或 u 100u long,ulong 整數 l 或 l 100l ulong 整數 ul,ul,ul,ul,lu,...