register 關鍵字定義的變數

2021-04-21 19:37:46 字數 355 閱讀 1792

register i = rep3_dma_con; 

for(i=0;i<10;i++);

/* register是variable的一種儲存型別,叫做暫存器型。 

乙個變數要是被定義為這種型別,他就會被儲存在通用暫存器中,所以儲存速度快。

這種型別的好處就是: 如果你需要頻繁地使用該變數,可以避免多次從記憶體裡進行儲存,

從而提高了執行效率.

對編譯器只是一種提示,是不是register還看編譯器怎麼處理。 不是強制的手段

現代編譯器的優化技術對變數是否存入暫存器已經做的很好了 所以對現代編譯器來說該關鍵字

沒什麼用但在早期的編譯器中,還是有很大的用處的

*/

register 關鍵字解析

include void main 和下面的 void main 有什麼區別啊 還有就是register在什麼情況下用呀?前邊程式中的i是預設的自動變數 auto 自動變數在程式呼叫的時候是分配臨時的儲存空間,呼叫的時候也是從記憶體中呼叫的,這也是和register最大的不同,register變數的...

register關鍵字介紹

1 register修飾符暗示編譯程式相應的變數將被頻繁地使用,如果可能的話,應將其儲存在cpu的暫存器中,以加快其儲存速度。例如下面的記憶體塊拷貝 procedure for the assignment of structures,if the c compiler doesn t suppor...

關鍵字volatile和register

用關鍵字volatile宣告變數,是用來告訴編譯器每次對此變數的引用都需要從記憶體位址中讀取,即取消編譯器對此變數的優化編譯。當某次引用沒用volatile宣告的變數時,其被編譯器從記憶體位址中讀取到ax 某通用暫存器 中,那麼在其後的引用中,如果ax暫存器沒用被改變,那麼編譯器會優化成直接讀取ax...