暫存器變數

2021-07-13 18:59:23 字數 688 閱讀 5626

c/c++語言定義了一種變數,不是儲存在記憶體上,而是直接儲存在cpu中的暫存器中,稱為暫存器變數

特點:讀取和改變的速度更快,高速

語法形式:register 型別識別符號 變數名

由於受硬體暫存器長度的限制,暫存器變數只能是char、int或指標型。暫存器說明符只能用於說明中的變數和函式中的形參,因此不允許將外部變數或靜態變數說明為「register」。

下面比較兩個程式的運算速度

程式一

main ( )

程式二

main( )

程式一使用兩個暫存器變數,程式二使用了兩個自動變數除此之外完全一樣。但執行時速度是不同的,程式一使用暫存器變數的程式要比程式二使用自動變數的程式要快。

注意點:

1.由於register變數使用的是硬體cpu的中的暫存器,暫存器變數無位址,所以不能使用去位址運算子「&」求暫存器變數的位址

2.乙個計算機中暫存器數量是有限的,一般為2到3個,因此暫存器變數的數量不能太多。對於在乙個函式中說明的多於2到3個的暫存器數量,c編譯程式會自動地將暫存器變數變為自動變數。

暫存器變數

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

暫存器變數

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

暫存器變數

之前竟然沒聽過c語言還有暫存器,好可憐,我是小白請見諒,哈哈 簡單總結了幾條關於register變數應該知道的東西,如下 1.暫存器變數可以用來優化加速c語言程式 2.聲名只需在型別前多加register 即可,eg register int quick quick 就是乙個整形的暫存器變數 3.r...