c語言關鍵字之register

2021-10-09 09:21:14 字數 518 閱讀 4831

register關鍵字請求編譯器盡可能地將變數存在cpu內部暫存器中,而不是通過記憶體定址訪問以提高效率。

使用register修飾符有幾點限制:

(1)因為register變數可能不存放在記憶體中,所以不能用「&」來獲取register變數的位址。

void

main()

(2)只有區域性自動變數和形式引數可以作為暫存器變數,其它(如全域性變數、結構體、共用體內部變數)不行。特別地,靜態區域性變數不能定義為暫存器變數。

struct _struct_name_

;union _union_name_

;register

int c;

//錯誤

void

main()

(3)由於暫存器的數量有限,不能定義任意多個暫存器變數,任何多餘的register修飾符都將被編譯程式所忽略。

參考博文:**c語言的乙個關鍵字——register

C語言關鍵字register

功能 用關鍵字register修飾變數,是想將變數變成暫存器變數,儲存在cpu的內部暫存器中,省去了cpu從記憶體抓取資料的時間,提高了程式的執行效率。適用型別 頻繁被訪問的變數或迴圈變數可以用register修飾 對編譯系統而言,只是 建議性的,而非指令性的 注意事項 1 register只能修飾...

C語言 register關鍵字

一 概念 register 這個關鍵字請求編譯器盡可能的將變數存在cpu內部暫存器中,而不是通過記憶體定址訪問,以提高效率。注意是盡可能,不是絕對。因為,如果定義了很多register變數,可能會超過cpu的暫存器個數,超過容量。所以只是可能。暫存器其實就是一塊一塊小的儲存空間,只不過其訪問速度要比...

C語言關鍵字 auto和register

在我對c語言進行培訓的時候,往往就是從c語言的關鍵字入手,因為c語言的關鍵字蘊含了c語言的全部的詞彙,囊括了c語言裡大量知識要點,從c語言關鍵字開刀,首先可以對你之前所學知識進行複習,其次,切磋一下和作者有什麼不同的見解,廢話少說,讓我們從關鍵字開始。關鍵字,又叫保留字,是編譯器能識別的特殊單詞,每...