1、register修飾符暗示編譯程式相應的變量将被頻繁地使用,如果可能的話,應将其儲存在CPU的寄存器中,以加快其存儲速度
2、static是某個特定函數的局部變量,即隻能在定義該變量的函數内使用該變量
static int a = 40;
char b[] = "Hello world";
register int c = 50;
printf("Hello world %d\n", a);
3.fflush(stdout)
在使用多個輸出函數連續進行多次輸出時,有可能發現輸出錯誤。因為下一個資料再上一個資料還沒輸出完畢,還在輸出緩沖區中時,下一個printf就把另一個資料加入輸出緩沖區,結果沖掉了原來的資料,出現輸出錯誤。 在 prinf();後加上fflush(stdout); 強制馬上輸出,避免錯誤。
4.
size_t是一些C/C++标準在stddef.h中定義的。這個類型足以用來表示對象的大小。size_t的真實類型與作業系統有關。
在32位架構中被普遍定義為:
typedef unsigned int size_t;
而在64位架構中被定義為:
typedef unsigned long size_t; size_t在32位架構上是4位元組,在64位架構上是8位元組,在不同架構上進行編譯時需要注意這個問題。而int在不同架構下都是4位元組,與size_t不同;且int為帶符号數,size_t為無符号數。