1.全域性變數(外部變數)
在各檔案所有函式之外定義的變數。可以被本檔案所有函式引用。生存期整個程式
作用域:從定義變數位置起到本原始檔(.c)結束。
外部變數作用域擴充套件:
<1>在乙個檔案內擴充套件變數作用域:在定義點之前函式需要引用外部變數時,在引用前加extern宣告外部變數(不常用)
<2>將外部變數作用域擴充套件到其他檔案extern int a;
:只在乙個檔案中
定義外部變數,
在其他檔案加extern
宣告外部變數(即定義時不寫extern)
2.區域性變數
函式內定義的,生存期
<1>自動變數int a;生存期呼叫完釋放
<2>靜態區域性變數static int a;:只在編譯時賦一次初值(預設0),以後每次呼叫函式時不再重新賦初值而保留上次函式呼叫結束時的值。生存期呼叫完不釋放
存放位置:
靜態儲存區;動態儲存區。應該都是ram
C語言中變數的儲存型別
變數的儲存型別 storage class 是指儲存變數值的記憶體型別。有三個地方可以用於儲存變數 普通記憶體 執行時堆疊 硬體暫存器 用於宣告變數儲存型別的關鍵字 auto static register 在所有 塊之外的變數的預設儲存型別是靜態的 static 儲存於靜態記憶體中,稱為靜態 st...
c語言中register型別的變數
關鍵字regiter請求編譯器盡可能的將變數存在cpu的暫存器中。有以下幾點注意的地方。register變數必須是能被cpu暫存器所接受的型別,這通常意味著register變數必須是乙個單個的值,並且其長度應小於或等於整型的長度。但是,有些機器的暫存器也能存放浮點數。register變數可能不存放在...
變數和幾種常用型別
一 變數名的命名的大前提 應該能夠反映出變數值所記錄的狀態 具體的,變數名的命名規範如下 1.變數名是由字母 數字 下劃線組成 2.不能以數字開頭 3.不能使用關鍵字命名變數名二 變數名的命名風格 2.1 駝峰體 2.2 純小寫 下劃線 推薦使用該方式 三 變數值具備的三大特徵 id 是通過記憶體位...