C語言 變數的型別

2021-08-01 13:56:50 字數 959 閱讀 4835

變數定義時有3種情況:

1- 函式的開頭——只在函式內部有效。

2- 復合語句內——只在復合語句內才能引用。

for(int i=0;i<10;i++)

3- 函式外部定義——外部變數/全域性變數,能夠被本檔案的其他函式所公用。

c語言中,習慣上全域性變數將第乙個字母大寫

float max=0,min=0;

int main()

不在必要的時候,不要使用全域性變數,全域性變數有如下缺點;

耗記憶體可移植性變差

降低程式的可讀性

如果出現了全域性變數和區域性變數同名的情況下,在區域性變數的作用範圍內,全域性變數會被遮蔽。

按照變數的生存期(存在時間)來區分變數的話,可以分為靜態變數和自動變數。

記憶體中使用者的儲存空間使用情況是:

程式區存放程式

資料存放在靜態儲存區和動態儲存區。全域性變數均存放在靜態儲存區。區域性變數中有使用static宣告的變數是放在靜態儲存區的。其他的區域性變數和形參放在動態儲存區。

區域性變數的儲存類別:

- auto(若不額外宣告均為auto型別,動態分配記憶體)

- static(函式呼叫結束後,該變數保持原值,下次呼叫不會初始化。且該變數不能被其他函式引用)

- register(將經常需要訪問的區域性變數儲存在暫存器中,提高執行效率,現在計算機能夠自動將使用頻繁的資料放入暫存器中,所以無需指定)

全域性變數的儲存類別:

全域性變數的作用域是從定義處到檔案結尾。

如果想將作用於擴充套件為整個檔案,需要在其他位置加上extern,起到擴充套件作用。

如果想將作用域擴充套件為其他檔案,需要在其他檔案中該變數定義處加上extern。

如果不想讓該全域性變數被其他檔案使用,需要在前面加上static。

[1]: 《c語言程式設計》第四版 譚浩強

C語言變數型別

c語言變數型別 auto static external static external register auto 區域性變數 auto 變數是用堆疊 stack 方式占用儲存器空間,因此,當執行此區段是,系統會立即為這個變數分配儲存器空間,而程式執行完後,這個堆疊立即被系統收回 在大括號 內宣告...

C語言變數型別

c語言有豐富的資料型別和運算子,因此計算能力非常強大,計算過程中使用的值一般用變數來儲存。變數也是有分型別的,不同型別的變數有不同的儲存型別 不同的生命週期 不同的作用域,c語言也提供了一些關鍵字來設定變數的屬性 比如設定儲存型別 生命週期 1 變數的作用域 c語言根據變數作用域的不同,將變數分為區...

C語言變數型別

c 語言中常用的變數型別包括以下幾類 區域性變數 自動變數 外部變數 全域性變數 靜態變數和暫存器變數 暫存器變數不常用,因此不做整理 1 區域性變數 區域性變數也稱為自動變數,是在函式內或程式塊內定義的變數,是一種 臨時 的變數,隨著函式 或程式塊 的執行而生成,隨著函式 或程式塊 的退出而消失。...