基本データ型整数型
コンパイラは、標準のCの基本データ型のすべてと追加のデータ型の両方をサポートします。
整数型概要
以下の表に、各整数型のサイズと範囲の一覧を示します。
データ型 | サイズ | 範囲 | アライメント |
|---|---|---|---|
8ビット | 0~1 | 1 | |
8ビット | 0~255 | 1 | |
8ビット | -128~127 | 1 | |
8ビット | 0~255 | 1 | |
16ビット | -32768~32767 | 2 | |
16ビット | 0~65535 | 2 | |
32 ビット | -231~231-1 | 4 | |
32 ビット | 0~232-1 | 4 | |
| 32ビット 64ビット | -231~231-1 -263~263-1 | 4 |
| 32ビット 64ビット | 0~232-1 0~264-1 | 4 |
64 ビット | -263~263-1 | 8 | |
64 ビット | 0~264-1 | 8 |
符号付変数は、2の補数フォーマットで表現されます。
bool型
bool型は、C++言語のデフォルトでサポートされています。言語拡張を有効化し、stdbool.hファイルをインクルードした場合は、bool型をCソースコードでも使用できます。。この場合は、論理値のfalseおよびtrueも使用可能になります。
enum型
コンパイラでは、enum定数の保持に必要な最小の型を使用し、unsignedよりもsignedを優先します。
IARの言語拡張が有効化されている場合や、C++においては、enum定数および型をlong、unsigned long、long はlong、またはunsigned long long型のいずれかにすることも可能です。
コンパイラで自動的に使用される型より大きな型を使用するには、enum定数を十分に大きな値で定義します。以下に例を示します。
/* Disables usage of the char type for enum */ enum Cards{Spade1, Spade2, DontUseChar=257};
C++ enum struct構文も参照してください。
関連情報については、‑‑enum_is_intを参照してください。
char型
char型は、コンパイラのデフォルトでは符号なしですが、--char_is_signedコンパイラオプションを使用して符号付にすることが可能です。
注記
ただし、ライブラリはchar型は符号なしでコンパイルされています。
wchar_t型
wchar_tデータ型は4バイトでUTF-32のエンコードを使用します。
char16_t型
char16_tデータ型は2バイトでUTF-16のエンコードを使用します。
char32_t型
char32_tデータ型は4バイトでUTF-32のエンコードを使用します。