一覧表
| 型名 | サイズ | 符号 | 接尾辞 | include/リリース |
|---|---|---|---|---|
| size_t | ※1(十分に大きいサイズ) | なし | stddef.h(C), cstddef(C++) | |
| ptrdiff_t | ※2 | あり | stddef.h(C), cstddef(C++) | |
| wint_t | ※3 | wchar.h(C99), cwchar(C++11) | ||
| sig_atomic_t | ※4 | signal.h(C), csignal(C++) | ||
| intptr_t | [ポインタサイズ] | あり | stdint.h(C99), cstdint(C++11) | |
| uintptr_t | [ポインタサイズ] | なし | stdint.h(C99), cstdint(C++11) | |
| _Bool | ※5 (1ビット以上) | なし | C99 ※C限定 | |
| bool | ※5 (1ビット以上) | なし | stdbool.h(C99), C++ | |
| int8_t | 8ビット | あり | stdint.h(C99), cstdint(C++11) | |
| uint8_t | 8ビット | なし | stdint.h(C99), cstdint(C++11) | |
| int_fast8_t | (高速)8ビット以上 | あり | stdint.h(C99), cstdint(C++11) | |
| uint_fast8_t | (高速)8ビット以上 | なし | stdint.h(C99), cstdint(C++11) | |
| int_least8_t | (最小)8ビット以上 | あり | stdint.h(C99), cstdint(C++11) | |
| uint_least8_t | (最小)8ビット以上 | なし | stdint.h(C99), cstdint(C++11) | |
| char | 8ビット以上int以下(1バイト) | C, C++ | ||
| signed char | 8ビット以上int以下(1バイト) | あり | C, C++ | |
| unsigned char | 8ビット以上int以下(1バイト) | なし | C, C++ | |
| wchar_t | ※6 (8ビット以上) | stddef.h(C), cstddef(C++) | ||
| int16_t | 16ビット | あり | stdint.h(C99), cstdint(C++11) | |
| uint16_t | 16ビット | なし | stdint.h(C99), cstdint(C++11) | |
| int_fast16_t | (高速)16ビット以上 | あり | stdint.h(C99), cstdint(C++11) | |
| uint_fast16_t | (高速)16ビット以上 | なし | stdint.h(C99), cstdint(C++11) | |
| int_least16_t | (最小)16ビット以上 | あり | stdint.h(C99), cstdint(C++11) | |
| uint_least16_t | (最小)16ビット以上 | なし | stdint.h(C99), cstdint(C++11) | |
| short | 16ビット以上int以下 | あり | C, C++ | |
| signed short | 16ビット以上int以下 | あり | C, C++ | |
| signed short int | 16ビット以上int以下 | あり | C, C++ | |
| short int | 16ビット以上int以下 | あり | C, C++ | |
| unsigned short | 16ビット以上int以下 | なし | C, C++ | |
| unsigned short int | 16ビット以上int以下 | なし | C, C++ | |
| int | 16ビット以上 | あり | なし | C, C++ |
| signed | 16ビット以上 | あり | なし | C, C++ |
| signed int | 16ビット以上 | あり | なし | C, C++ |
| unsigned | 16ビット以上 | なし | u, U | C, C++ |
| unsigned int | 16ビット以上 | なし | u, U | C, C++ |
| int32_t | 32ビット | あり | stdint.h(C99), cstdint(C++11) | |
| uint32_t | 32ビット | なし | stdint.h(C99), cstdint(C++11) | |
| int_fast32_t | (高速)32ビット以上 | あり | stdint.h(C99), cstdint(C++11) | |
| uint_fast32_t | (高速)32ビット以上 | なし | stdint.h(C99), cstdint(C++11) | |
| int_least32_t | (最小)32ビット以上 | あり | stdint.h(C99), cstdint(C++11) | |
| uint_least32_t | (最小)32ビット以上 | なし | stdint.h(C99), cstdint(C++11) | |
| long | 32ビット以上(long long以下) | あり | l, L | C, C++ |
| signed long | 32ビット以上(long long以下) | あり | l, L | C, C++ |
| signed long int | 32ビット以上(long long以下) | あり | l, L | C, C++ |
| long int | 32ビット以上(long long以下) | あり | l, L | C, C++ |
| unsigned long | 32ビット以上(long long以下) | なし | ul, UL,Ul, uL | C, C++ |
| unsigned long int | 32ビット以上(long long以下) | なし | ul, UL,Ul, uL | C, C++ |
| int64_t | 64ビット | あり | stdint.h(C99), cstdint(C++11) | |
| uint64_t | 64ビット | なし | stdint.h(C99), cstdint(C++11) | |
| int_fast64_t | (高速)64ビット以上 | あり | stdint.h(C99), cstdint(C++11) | |
| uint_fast64_t | (高速)64ビット以上 | なし | stdint.h(C99), cstdint(C++11) | |
| int_least64_t | (最小)64ビット以上 | あり | stdint.h(C99), cstdint(C++11) | |
| uint_least64_t | (最小)64ビット以上 | なし | stdint.h(C99), cstdint(C++11) | |
| long long | 64ビット以上 | あり | ll, LL | C99, C++11 |
| signed long long | 64ビット以上 | あり | ll, LL | C99, C++11 |
| signed long long int | 64ビット以上 | あり | ll, LL | C99, C++11 |
| long long int | 64ビット以上 | あり | ll, LL | C99, C++11 |
| unsigned long long | 64ビット以上 | なし | ull, ULL,Ull, uLL | C99, C++11 |
| unsigned long long int | 64ビット以上 | なし | ull, ULL,Ull, uLL | C99, C++11 |
| intmax_t | [最大の整数型]64ビット以上 | あり | stdint.h(C99), cstdint(C++11) | |
| uintmax_t | [最大の整数型]64ビット以上 | なし | stdint.h(C99), cstdint(C++11) |
不備があったり改善点がある場合はコメントお願いします。
補足
※1……[オブジェクトのバイト数を表現できる程度に十分に大きいサイズ]
※2……[2 つのポインタの減算の結果を示す型]
※3……[拡張文字集合の要素に対するすべての値、および、拡張文字集合の要素に対応しない少なくとも一つの値(WEOF)を保持できる型]
※4……[一つの不可分な実体としてアクセスできるオブジェクトの型]
※5……[0または1を格納するのに充分な大きさ]
※6……[処理系がサポートするロケールの中で最も大きな拡張文字集合のすべての要素に対して、区別可能なコードを表現できる値の範囲をもつ型].
(高速)……[通常最も高速に処理される型].
(最小)……[最も小さい型]
参考
>> ISO/IEC 9899:1999
>> 【cstdint】C++11で追加された サイズ厳密な整数型
>> cstdint
>> 基本型
>> C言語/記法
>> char の符号
>> C++言語でのint型とlong型とlong long型の違いについて
>> 【C言語講座】標準ライブラリ
>> intやcharの大きさについて
>> _Bool