在計算機系統中,數據是放在內存中的,數字、文字、符號、圖形、音頻、視頻等數據都是以二進制形式存儲在內存中的,它們并沒有本質上的區別,那么 0001000 該理解為數字 8 呢,還是圖像中某個像素的顏色,還是要發出某個聲音?
也就是說,內存中的數據有多種解釋方式,使用之前必須要確定。如int a 就表明這份數據是整數,不能理解為像素、聲音等。
數據類型用來說明數據的類型,確定了數據的解釋方式,讓計算機和程序員不會產生歧義。
C語言里的六種基本數據類型有:short、int、long、char、float、double。
C語言里的六種基本數據類型
void 類型指定沒有可用的值,通常用于以下三種情況下:
- C中不返回值的函數的返回類型為空,如void show(int x);
- C中不帶參數的函數可以接受一個 void, 如 int show(void);
- 指針指向 void,void* 類型表示未確定類型的指針。C/C++規定,void* 類型可以通過類型轉換強制轉換為任何其它類型的指針。如內存分配函數 void *malloc(size_t size),返回指向 void 的指針,可以轉換為任何數據類型。
變量的類型決定了變量存儲占用的空間。下表分別是標準整數類型和浮點類型的存儲大小、值范圍和精度。
整數類型的存儲大小
浮點類型的存儲大小
需要注意的是各種類型的存儲大小與系統位數有關,為了得到某個類型或某個變量在特定平臺上的準確大小,可以使用 sizeof 運算符。
表達式 sizeof(type) 可以獲取對象或類型的存儲字節大小。






