C語言中,為什麼每個變數只佔據記憶體單元

2021-05-16 06:10:44 字數 614 閱讀 3190

1樓:匿名使用者

static是靜態變數,在程式中的生命週期是最長的,在程式執行中一直存在。extern是外部變數內,這個變數在程式外部定容義,也是始終存在的。而auto和retister都是在程式執行到這裡時申請記憶體單元,用完後隨即就釋放了。

2樓:

砍侃看說得好啊!我也學了好長時間c了,不知道有此一說啊......

3樓:砍侃看

誰說的,我怎麼不知道

c語言中,對於儲存型別為(c)的變數,只有在使用它們時才佔用記憶體單元

4樓:匿名使用者

static是靜態變數,在程式中的生命週期是最長的,在程式執行中一直存在。extern是外部變數,這個變數在程式外部定義,也是始終存在的。而auto和retister都是在程式執行到這裡時申請記憶體單元,用完後隨即就釋放了。

在c語言中,只有在使用時才佔用記憶體單元的變數,其儲存型別是()

5樓:鐳毅

a排除法:

static是不可能的,排除c\d

b是外部的register型變數。

c語言中定義變數不賦初值是多少,為什麼C語言中定義變數的時候不能連續給多個變數賦初值

沒有加static,預設為auto 型,此時,不給初值,變數的初值是隨機的。如果加專了static不給初值,變數的屬初值是預設的 0。其實不能說不賦初值就不行,對於區域性變數,不賦初值的話,其實他裡面存的是一個隨機的值,誰也不知道他是多少,因此如果沒賦初值的情況下就使用它,程式是完全不可控的,如你的...

C語言中的全域性變數和區域性變數分別是指什麼

解答問題前,先說明一下,當全域性變數和區域性變數同名時,要看當前 所處的作用域,預設使用當前作用域內的同名區域性變數。分析你所提供的 include int a 4 全域性變數 int f int n else return t a 此外的a是指f函式作用域內的靜態區域性變數,每次f函式呼叫retu...

c語言中定義整型變數010和10有什麼區別

0開頭的是八進位制的,後面的數字不應大於等於8,0x開頭的是16進位制的,8進位制和16進位制的只能表示正數。以數字開頭的那就是10進位制的啦。010 和 10 只能是常量而不能是變數,無法被定義。c語言中,以數字0開頭,由0 7組成的數是八進位制數字。肯定是有區別的啦,自己上機除錯一下就知道了.別...