天天看點

C語言的細小知識點整理

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為無符号數。

繼續閱讀