C C 中的暫存器變數

2021-10-04 07:19:33 字數 550 閱讀 1122

變數通常儲存在計算機記憶體中。如果幸運的話,暫存器變數儲存在cpu 的暫存器中,或者概括地說,儲存在最快的可用記憶體中。與普通變數相比, 訪問和處理這些變數的速度更快。由於暫存器變數儲存在暫存器而非記憶體中,所以無法獲取暫存器變數的位址。絕大多數方面,暫存器變數和自動變數都一樣。

也就是說,它們都是塊作用域、無鏈結和自動儲存期。

使用儲存 類別說明符register便可宣告暫存器變數:

int

main

(void){

register

int quick;

我們剛才說「如果幸運的話」,是因為宣告變數為register類別與直接命令 相比更像是一種請求。編譯器必須根據暫存器或最快可用記憶體的數量衡量你 的請求,或者直接忽略你的請求,所以可能不會如你所願。
void

macho

(register

int n)

可宣告為register的資料型別有限。例如,處理器中的暫存器可能沒有足夠大的空間來儲存double型別的值。

暫存器變數

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

暫存器變數

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

暫存器變數

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