關於暫存器變數下面說法說法正確的是

2021-10-04 21:38:37 字數 625 閱讀 5725

只有區域性自動變數和形式引數可以作為暫存器變數,其他(如全域性變數)不行

a 暫存器變數可以宣告全域性變數

b無法取暫存器變數的位址

d.暫存器變數訪問效率要比普通變數訪問效率高

e.宣告暫存器變數時有可能不成功

解析:由於register變數使用的是硬體cpu中的暫存器,暫存器變數無位址,所以不能使用取位址運算子"&"求暫存器變數的位址。

直接儲存在暫存器上面的。

暫存器是與機器硬體密切相關的,不同型別的計算機,暫存器的數目是不一樣的,通常能夠被宣告為暫存器變數的暫存器為3到4個,對於在乙個函式中說明的多於3到4個的暫存器變數,暫存器變數就宣告失敗,自動轉換為普通變數。

register變數

如果有一些變數使用頻繁,則為訪問變數的值少花些時間,可以將該區域性變數的值放在cpu的暫存器中,需要時直接從暫存器取出參加運算,不必去記憶體中去訪問。由於暫存器的訪問速度遠遠高於記憶體的訪問速度,因此這樣做可以提高執行效率。這種變數叫做「暫存器變數」,用register作宣告。

說明:(1)只有區域性自動變數和形式引數可以作為暫存器變數,其他(如全域性變數)不行。

(2)乙個計算機系統中的暫存器數目是有限的,不能定義任意多個暫存器變數。

(3)區域性靜態變數不能定義為暫存器變數。

暫存器變數

在程式執行時,根據需要到記憶體中相應的 儲存單元中呼叫,如果乙個變數在程式中頻繁使用,例如迴圈變數,那麼,系統就必須多次訪問記憶體中的該單元,影響程式的執行效率。因此,c c 語言還定義了一種變數,不是儲存在記憶體上,而是直接儲存在cpu中的暫存器中,這種變數稱為暫存器變數。暫存器變數的定義形式是 ...

暫存器變數

c語言中的變數按儲存區域可以分為三種 堆疊中的自動變數,普通記憶體中得靜態變數,硬體暫存器變數。由於暫存器變數直接存放在cpu中,而不在記憶體中,所以訪問速度極快。一般應用於需要大量次數訪問的變數。暫存器變數只能存放int char和指標型別的資料,而且暫存器變數不能過多的使用,否則反而會降低運算速...

暫存器變數

c c 語言定義了一種變數,不是儲存在記憶體上,而是直接儲存在 中的暫存器中,稱為暫存器變數 特點 讀取和改變的速度更快,高速 語法形式 register 型別識別符號 變數名 由於受硬體暫存器長度的限制,暫存器變數只能是char int或指標型。暫存器說明符只能用於說明中的變數和函式中的形參,因此...