LinuxでのCコンパイラで、32bit環境と64bit環境では、long型のデータサイズが違うので注意。
| 型名 | サイズ (32 ビット) | サイズ (64 ビット) | 備考 |
|---|---|---|---|
| char | 1 バイト | 1 バイト | |
| short | 2 バイト | 2 バイト | |
| int | 4 バイト | 4 バイト | |
| long | 4 バイト | 8 バイト | サイズが異なる |
| long long | 8 バイト | 8 バイト |
最近のCコンパイラでは、stdint.h で定義の型が使えるようになっているので、極力この型を使うようにした方がよい。
| 型名 | 説明 | 備考 |
|---|---|---|
| int8_t | 1 バイトの符号付き整数 | |
| int16_t | 2 バイトの符号付き整数 | |
| int32_t | 4 バイトの符号付き整数 | |
| int64_t | 8 バイトの符号付き整数 | |
| intptr_t | ポインタと同じサイズの符号付き整数 | |
| uint8_t | 1 バイトの符号なし整数 | |
| uint16_t | 2 バイトの符号なし整数 | |
| uint32_t | 4 バイトの符号なし整数 | |
| uint64_t | 8 バイトの符号なし整数 | |
| uintptr_t | ポインタと同じサイズの符号なし整数 |