c語言中的變數

2022-02-24 10:46:39 字數 1279 閱讀 9230

什麼是自動變數:定義在函式體內部的變數,也叫私有變數或者區域性變數

作用域:僅限於定義它的函式體內部,函式中的每個區域性變數只在函式被呼叫時存在,在函式執行完畢退出時消失。

定義:以static儲存類宣告的變數。

static的兩種宣告:

1)用static宣告限定外部變數函式,可以將其後宣告的物件的作用域限定為被編譯原始檔的剩餘部分。通過static限定外部物件,可以達到隱藏外部物件的目的。

2)用static宣告自動變數,宣告後的物件的儲存方式變為靜態儲存方式,它與自動變數的不同是,不管其所在的函式是否被呼叫,它一直存在,而不像自動變數那樣,隨著所在函式的被呼叫和退出而存在和消失

register int x;

register char c;

以上就宣告了兩個暫存器變數,register告訴編譯器,它所宣告的變數使用頻率較高。其思想是將register宣告的變數放到機器的暫存器中,這樣可以使程式更小、執行速度更快,但編譯器可以忽略此選項。

注意:

1)register宣告只適用於自動變數函式的形式引數

2)過量的register宣告並沒有什麼壞處,因為編譯器可以自動忽略過量或者不支援的暫存器變數宣告;

3)無論暫存器變數最終是否放到了暫存器中,它的位址都是不可以訪問的。

在某些地方我們會看到全域性變數區域性變數的定義,其實它們對應的就是外部變數和自動變數。

全域性變數與外部變數的區別是全域性變數是作用於程式中的所有地方,它是不加static的外部變數。

區域性變數則與自動變數的定義完全一樣

#include int i;             //外部變數

static int j; //靜態變數

int main()

摘自:

C語言中的變數

開場白要吸引人.但是我不會 有人說我可以靠臉吃飯。可我偏偏選擇了手,哈哈哈 說笑 娛樂娛樂,下面我就來提提c語言中關於變數的意思 什麼是變數?沒錯 你看字面意思就可以理解,就是可以變得量,用專業一點的話就是程式中其值可以變化的量。變數有三個基本要素 變數名 每乙個變數都應該有乙個名字。變數的資料型別...

C語言中的變數

一.普通區域性變數 區域性變數無論是否靜態均不允許同名,否則會出現error 當區域性變數與全域性變數同名時,依據就近原則進行判斷。區域性變數同名是指在復合語句的巢狀中,內層復合語句變數與外層復合語句變數同名,這樣是允許的。二.普通全域性變數 全域性變數無論是否靜態都不允許同名,否則編譯器會給出er...

C語言中的變數

記憶體特點 讀寫速度快 掉電資料丟失 程式中去需要運算的資料也包括運算之後的結果要暫存到記憶體中 位元組 記憶體被分成一格一格的 每個格可以用來儲存乙個數字 每個格被稱為乙個位元組 儲存區 快取 buffer 計算機中將乙個位元組或者連續的多個位元組形成乙個儲存單元用來儲存數字 乙個位元組的儲存區只...