キーワード(予約語)と型指定子の関係です。
型指定子 (Type Specifiers) [C99, 6.7.2] | データ の種類 | メモリ 消費量 | 範囲(桁数)[C99, 5.2.4.2] | |
最小値 | 最大値 | |||
void | 値を持たない。宣言子に制限あり。 | |||
char | 整数 | unsigned char か signed char のいずれかで,それは処理系に任されている。[C99, 6.2.5, 15] | ||
unsigned char | 整数 | 1バイト | 0 | 255 |
signed char | 整数 | 1バイト | -127 | 127 |
short | 整数 | 2バイト | -32767 | 32767 |
int | 整数 | C99 の例では short と同じ。 | ||
long | 整数 | 4バイト | -2147483647 | 2147483647 |
long long | 整数 | 8バイト | -9223372036854775807 | 9223372036854775807 |
float | 少数 | 4バイト | 1.17546435E-38 | 3.40282347E+38 |
double | 少数 | 8バイト | 2.2250738585072014E-308 | 1.7976931348622157E+308 |
struct タグ {struct-宣言} | 構造体タグ 型。宣言子はオプション。 | |||
enum タグ {列挙体メンバ} | 列挙体タグ 型。宣言子はオプション。enum タグ {列挙体メンバ} ではタグもオプション。 |
* 「タグ」は,構造体や列挙体を特定化するための識別子。 |
char
が1バイトであることを除き,メモリ消費量と範囲は処理系依存です。また,ブール型データを扱う _Bool
や複素数を扱う型,浮動小数点については long double
もあります。unsigned char
と signed char
を除く整数型については unsigned
を前に付すとメモリ消費量は変わらずに非負領域が扱えるようになります。例えば,
unsigned short i;
とすると,i
は 0
から 65535
までの整数が扱えます。