programing:c-language:long-data-size
**文書の過去の版を表示しています。**
long型のデータサイズに注意(64bitコンパイラ)
Linuxでの、32bitコンパイラと64bitコンパイラでは、long型のデータサイズが違うので注意。
データ型とサイズ
| 型名 | サイズ (32 ビット) | サイズ (64 ビット) | 備考 |
|---|---|---|---|
| char | 1 バイト | 1 バイト | |
| short | 2 バイト | 2 バイト | |
| int | 4 バイト | 4 バイト | |
| long | 4 バイト | 8 バイト | サイズが異なる |
| long long | 8 バイト | 8 バイト |
- 整数型の前には、修飾子 signed または unsigned が付けられる。符号修飾子が存在しない場合、その型は符号付き (signed) であると見なされる。
stdint.hでのデータサイズ
最近の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 | ポインタと同じサイズの符号なし整数 |
参考
programing/c-language/long-data-size.1655689775.txt.gz · 最終更新: by yoko
