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 | ポインタと同じサイズの符号なし整数 |