在計算機系統(tǒng)中,數(shù)據(jù)是放在內(nèi)存中的,數(shù)字、文字、符號、圖形、音頻、視頻等數(shù)據(jù)都是以二進制形式存儲在內(nèi)存中的,它們并沒有本質(zhì)上的區(qū)別,那么 0001000 該理解為數(shù)字 8 呢,還是圖像中某個像素的顏色,還是要發(fā)出某個聲音?
也就是說,內(nèi)存中的數(shù)據(jù)有多種解釋方式,使用之前必須要確定。如int a 就表明這份數(shù)據(jù)是整數(shù),不能理解為像素、聲音等。
數(shù)據(jù)類型用來說明數(shù)據(jù)的類型,確定了數(shù)據(jù)的解釋方式,讓計算機和程序員不會產(chǎn)生歧義。
C語言里的六種基本數(shù)據(jù)類型有:short、int、long、char、float、double。

C語言里的六種基本數(shù)據(jù)類型
void 類型指定沒有可用的值,通常用于以下三種情況下:
- C中不返回值的函數(shù)的返回類型為空,如void show(int x);
- C中不帶參數(shù)的函數(shù)可以接受一個 void, 如 int show(void);
- 指針指向 void,void* 類型表示未確定類型的指針。C/C++規(guī)定,void* 類型可以通過類型轉(zhuǎn)換強制轉(zhuǎn)換為任何其它類型的指針。如內(nèi)存分配函數(shù) void *malloc(size_t size),返回指向 void 的指針,可以轉(zhuǎn)換為任何數(shù)據(jù)類型。
變量的類型決定了變量存儲占用的空間。下表分別是標(biāo)準(zhǔn)整數(shù)類型和浮點類型的存儲大小、值范圍和精度。

整數(shù)類型的存儲大小

浮點類型的存儲大小
需要注意的是各種類型的存儲大小與系統(tǒng)位數(shù)有關(guān),為了得到某個類型或某個變量在特定平臺上的準(zhǔn)確大小,可以使用 sizeof 運算符。
表達式 sizeof(type) 可以獲取對象或類型的存儲字節(jié)大小。