C語言中自動變數是什麼變數?它是動態變數的意思嗎?怎麼理解

2021-04-21 19:56:08 字數 933 閱讀 4992

1樓:匿名使用者

區域性變數,如不作專門說明為靜態變數,都是動態分配儲存空間,儲存回在動態儲存區中。這答種變數叫自動變數。這種變數只在定義它們的時候才建立,在定義它們的函式返回時系統**變數所佔儲存空間。

對這些變數儲存空間的分配和**是由系統自動完成的,所以也叫自動變數。一般情況下,不作專門說明的區域性變數,均是自動變數。

2樓:

自動變數包括函式形參和非static區域性變數,他也不是說動態變數的意思。自動變數說明這個變數是再棧上在執行時自動建立自動撤銷。

c語言 區域性變數和自動變數的區別是什麼?請簡單舉例子說明一下 謝謝

c語言中的自動變數裡的「自動釋放a,b,c所佔的儲存單元」是什麼意思

3樓:匿名使用者

在c語言中,在某個抄大括弧引起來的區域襲(如函式、子程式的)內你定義了乙個變數,這個變數在程式跳出這個反括號時,就會被自動捨棄。c++中的情況也類似。

舉例說明:

int b;

void fun(int a)

void main()

主程式(又稱為main函式)中開設的變數a的有效範圍是在主程式執行到exit函式之後的反大括號之內,一旦超出這個範圍a就被釋放了。

子程式fun中開設的變數i,是在子程式被呼叫時才由系統臨時在棧中申請的乙個整型儲存區,一旦程式從子程式返回,這個i就被釋放了,主程式中看不到i的值,也無法訪問。

全域性變數b是在整個你的程式執行結束後才被釋放的。

4樓:secret_x豬

經過執行他的執行,到時執行完後。。釋放他的儲存單元。。。這樣想, 你定義了 乙個專整形變數 int i; 現在i 就會被係屬統分配空間(即 儲存單元) 像形參,使用過後,系統會釋放它的空間。。

C語言中定義變數時在變數前面加星號是什麼意思

float b 表示b是乙個 指標的指標 也可以理解為是乙個二維陣列的指標,具有類似的解釋,可以理解為是乙個三維陣列的指標。c語言在定義變數時加兩個星號是表明這個變數為二級指標 c語言中在定義變數時使用 號是為了表明該變數為指標 指標有分一級指標,二級指標,指標等,有幾個 號就相當於是幾級指標 指標...

在C語言中,當變數a賦值給變數b後,變數a的值就變為零了嗎

怎麼抄會變0啊,襲你這裡的 沒問題 你全貼出來看看 看了,應該這樣 include void main if a c if b c printf d,d,d n a,b,c getch 暈!要麼t b b a a t 要麼t a a b b t t b a t b a 當然不可以了,這樣把a的值丟了...

C語言中指標變數與普通變數的區別是什麼

int a int p a 指標p是乙個變數,裡面存的是乙個位址,這個位址是a的位址。通過取值運算子 就可以用p訪問a。指標變數使用起來靈活,乙個指標變數只佔四個位元組,但是它可以訪問類似結構體,鍊錶,陣列等多資料集合,而且在訪問這些變數的時候是對記憶體直接訪問,執行效率更高,知識需要慢慢積累,用得...