Cのデータ型
C 言語では、データ型は、さまざまな型の変数または関数を宣言するための広範なシステムを指します。変数のタイプによって、変数ストレージが占めるスペースの量と、格納されたビット パターンがどのように解釈されるかが決まります。
C の型は次の型に分類できます:
シリアル番号 | 型と説明 |
---|---|
1 | 基本型: 整数型と整数型の 2 つの型を含む算術型です。浮動小数点型。 |
2 | 列挙型: これらは算術型でもあり、プログラム内で特定の離散整数値のみを割り当てることができる変数を定義するために使用されます。 |
3 | void 型: 型指定子 void は、値が使用できないことを示します。 |
4 | 派生型: それらには、ポインター型、配列型、構造体型、共用体型、関数型が含まれます。 |
配列型と構造型を総称して集合体型と呼びます。関数の型は、関数の戻り値の型を指します。この章の残りの部分では基本的なタイプを紹介し、他のいくつかのタイプについては次の章で説明します。
整数型
次の表は、標準の整数型のストレージ サイズと値の範囲の詳細を示しています。
unsigned char | 1バイト | 0〜255 | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
signed char | 1バイト | -128〜127 | ||||||||||||||||||||||
int | 2または4バイト | -32,768 ~ 32,767 または -2,147,483,648 ~ 2,147,483,647 | ||||||||||||||||||||||
unsigned int | 2 または 4 バイト | 0 ~ 65,535 または 0 ~ 4,294,967,2 95 | ||||||||||||||||||||||
short | 2バイト | - 32,768~32,767 | ||||||||||||||||||||||
符号なしshort | 2バイト | 0〜65,535 | ||||||||||||||||||||||
long | 4バイト | -2,147,483,648〜2,147,483,6 | ||||||||||||||||||||||
符号なしlong | 4バイト | 0から4,294,967,295 | ||||||||||||||||||||||
特定のプラットフォームで特定の型または変数の正確なサイズを取得するには、 sizeof 演算子を使用できます。式 sizeof(type) は、オブジェクトまたは型のストレージ サイズをバイト単位で取得します。次の例は、int 型のサイズを取得する方法を示しています。 #include <stdio.h>#include <limits.h>int main(){ printf("int 存储大小 : %lu \n", sizeof(int)); return 0;} 上記のプログラムを Linux 上でコンパイルして実行すると、次の結果が生成されます。 int 存储大小 : 4 浮動小数点型次の表は、標準の浮動小数点に関する情報を示しています。型のストレージ サイズ、値の範囲、精度の詳細:
ヘッダー ファイル float.h は、プログラム内でこれらの値と実数のバイナリ表現に関するその他の詳細を使用できるようにするマクロを定義します。次の例では、浮動小数点型が占有する記憶領域とその範囲値を出力します。 #include <stdio.h>#include <float.h>int main(){ printf("float 存储最大字节数 : %lu \n", sizeof(float)); printf("float 最小值: %E\n", FLT_MIN ); printf("float 最大值: %E\n", FLT_MAX ); printf("精度值: %d\n", FLT_DIG ); return 0;} 上記のプログラムを Linux 上でコンパイルして実行すると、次の結果が生成されます。 float 存储最大字节数 : 4 float 最小值: 1.175494E-38float 最大值: 3.402823E+38精度值: 6 void 型void 型の指定利用可能な値がありません。通常、次の 3 つの状況で使用されます。
ここで void 型をまだ完全に理解できない場合でも、あまり心配しないでください。これらの概念については後続の章で詳しく説明します。 |