c語言中register型別的變數

2022-08-02 08:48:07 字數 259 閱讀 1007

關鍵字regiter請求編譯器盡可能的將變數存在cpu的暫存器中。有以下幾點注意的地方。

register變數必須是能被cpu暫存器所接受的型別,這通常意味著register變數必須是乙個單個的值,並且其長度應小於或等於整型的長度。但是,有些機器的暫存器也能存放浮點數。

register變數可能不存放在記憶體中,所以不能用取址符運算子「 & 」。

只有區域性變數和形參可以作為register變數,全域性變數不行。

靜態變數不能定義為register。

C語言中register型別的變數有什麼意義

int i for i 0 i 1000 i 為了解決這個問題,可以將使用頻繁的變數放在cpu的通用暫存器中,這樣使用該變數時就不必訪問記憶體,直接從暫存器中讀取,大大提高程式的執行效率。為了加深對 register 變數的理解,這裡有必要講一下cpu暫存器。暫存器是最貼近cpu的,而且cpu只在暫...

C語言中的register關鍵字

在c語言中的register修飾的變數表示將此變數儲存在cpu的暫存器中,由於cpu訪問暫存器比訪問記憶體快很多,可以大大提高運算速度。但在使用register時有幾點需要注意。1.用register修飾的變數只能是區域性變數,不能是全域性變數。cpu的暫存器資源有限,因此不可能讓乙個變數一直佔著c...

c 對c語言中 register關鍵字增強

1 register關鍵字的變化 1 register關鍵字請求 編譯器 將區域性變數儲存於暫存器中 c語言中無法取得register變數位址,c 中可以取得register變數的位址 2 在c 中依然支援register關鍵字,c 編譯器有自己的優化方式,不使用register也可能做優化 3 c...