#include <stdio.h>
register int x;
int main()
{
printf("%d", x);
}
[Error] register name not specified for 'x'
關鍵字regiter請求編譯器盡可能的將變量存在CPU的寄存器中。有以下幾點注意的地方。
1.register變量必須是能被CPU寄存器所接受的類型,這通常意味著register變量必須是一個單個的值,並且其長度應小於或等於整型的長度。但是,有些機器的寄存器也能存放浮點數。
2.register變量可能不存放在內存中,所以不能用取址符運算符“ & ”。
3.只有局部變量和形參可以作為register變量,全局變量不行。
4.靜態變量不能定義為register。