數據類型決定變量佔用空間大小及位模式解釋方式。C 類型系統分四大類。
| 類別 | 包含 | 說明 |
|---|---|---|
| 基本類型 | 整數、浮點 | 算術類型 |
| 枚舉類型 | enum | 離散整數值集合 |
| void 類型 | void | 無可用值 |
| 派生類型 | 指針、數組、結構、共用體、函數 | 由基本類型組合派生 |
數組/結構稱聚合類型;函數類型指返回值類型。
| 類型 | 存儲大小 | 值範圍 |
|---|---|---|
| char | 1 字節 | -128~127 或 0~255 |
| unsigned char | 1 字節 | 0~255 |
| signed char | 1 字節 | -128~127 |
| int | 2 或 4 字節 | -32,768~32,767 或 -2.14B~2.14B |
| unsigned int | 2 或 4 字節 | 0~65,535 或 0~4.29B |
| short | 2 字節 | -32,768~32,767 |
| long | 4 字節 | -2.14B~2.14B |
注意: 現代系統以 64 位為主,int通常 4 字節,long在 Linux 64 位為 8 字節,Windows 64 位為 4 字節。準確大小請用sizeof運算符。
| 類型 | 大小 | 範圍 | 精度 |
|---|---|---|---|
| float | 4 字節 | 1.2E-38 ~ 3.4E+38 | 6 位 |
| double | 8 字節 | 2.3E-308 ~ 1.7E+308 | 15 位 |
| long double | 16 字節 | 3.4E-4932 ~ 1.1E+4932 | 19 位 |
float.h 定義 FLT_MIN、FLT_MAX、FLT_DIG 等宏。
void exit(int status);int rand(void);void *malloc(size_t size); 可轉換為任意類型指針#include <stdio.h>
#include <limits.h>
int main() {
printf("int 大小: %zu 字節\n", sizeof(int));
printf("float 大小: %zu 字節\n", sizeof(float));
return 0;
}
輸出(Linux 64 位):int 大小: 4 字節、float 大小: 4 字節。