C のデータ型

C のデータ型

C の各変数には、関連付けられたデータ型があります。整数、文字、浮動小数点数、倍精度浮動小数点数など、変数が格納できるデータのタイプを指定します。各データタイプには異なる量のメモリが必要で、そのデータに対して実行できる特定の操作がいくつかあります。データ型とは、固定値を持つデータの集合であり、その意味や特性も同様です。

C のデータ型は次のように分類できます。

種類

説明

プリミティブデータ型 プリミティブ データ型は、整数、浮動小数点、文字などの単純な値を表すために使用される最も基本的なデータ型です。
ユーザー定義のデータ型 ユーザー定義のデータ型はユーザー自身によって定義されます。
派生型 プリミティブ データ型または組み込みデータ型から派生したデータ型は、派生データ型と呼ばれます。

C のデータ型

データ型が異なれば、数値を保存できる範囲も異なります。これらの範囲はコンパイラによって異なる場合があります。以下は、範囲のリストとメモリ要件およびフォーマット指定子です。 32ビットGCCコンパイラ

データ・タイプ
サイズ (バイト)
範囲
フォーマット指定子
短い整数
2
-32,768 ~ 32,767
%hd
unsigned short int
2
0~65,535
%hu
符号なし整数
4
0 ~ 4,294,967,295
%で
整数
4
-2,147,483,648 ~ 2,147,483,647
%d
長い整数
4
-2,147,483,648 ~ 2,147,483,647
%ld
符号なし長整数
4
0 ~ 4,294,967,295
%lu
長い長い整数
8
-(2^63) から (2^63)-1
%lld
符号なしlong long int
8
0 ~ 18,446,744,073,709,551,615
%llu
符号付き文字
1
-128~127
%c
符号なし文字
1
0~255
%c
浮く
4
1.2E-38~3.4E+38 %f
ダブル
8
1.7E-308~1.7E+308 %lf
ロングダブル
16
3.4E-4932 は 1.1E+4932 です %Lf

注記: l オン、ショート、署名付きおよび署名なし は、データ型のサイズまたは長さを変更するためにいくつかのプリミティブ データ型で使用できるデータ型修飾子です。

以下に、C の主なプリミティブ データ型をいくつか示します。

整数データ型

C の整数データ型は、整数 (小数部を除いた正、負、ゼロを含む任意の数) を格納するために使用されます。 C では、8 進数値、16 進数値、および 10 進数値を int データ型で格納できます。

  • 範囲: -2,147,483,648 ~ 2,147,483,647
  • サイズ: 4バイト
  • フォーマット指定子: %d

整数の構文

を使用しております 変数名;

整数データ型は次のようにも使用できます。

  1. 符号なし整数: C の Unsigned int データ型は、ゼロから正の数値までのデータ値を格納するために使用されますが、signed int のように負の値を格納することはできません。
  2. 短い整数: int よりもサイズが 2 バイト小さいため、-32,768 から 32,767 までの値のみを格納できます。
  3. 長い整数: int データ型の大きいバージョンなので、int より大きい値を格納できます。
  4. unsigned short int: short int との関係は、unsigned int と int と同様です。

注記: 整数データ型のサイズはコンパイラに依存します。使用できます サイズ演算子 あらゆるデータ型の実際のサイズを確認します。

intの例

C




// C program to print Integer data types.> #include> int> main()> {> > // Integer value with positive data.> > int> a = 9;> > // integer value with negative data.> > int> b = -9;> > // U or u is Used for Unsigned int in C.> > int> c = 89U;> > // L or l is used for long int in C.> > long> int> d = 99998L;> > printf> (> 'Integer value with positive data: %d '> , a);> > printf> (> 'Integer value with negative data: %d '> , b);> > printf> (> 'Integer value with an unsigned int data: %u '> ,> > c);> > printf> (> 'Integer value with an long int data: %ld'> , d);> > return> 0;> }>

出力

Integer value with positive data: 9 Integer value with negative data: -9 Integer value with an unsigned int data: 89 Integer value with an long int data: 99998 

文字データ型

文字データ型では、変数に 1 つの文字のみを格納できます。文字の大きさは1バイトです。これは C の最も基本的なデータ型です。単一の文字を格納し、ほとんどすべてのコンパイラで 1 バイトのメモリを必要とします。

  • 範囲: (-128 ~ 127) または (0 ~ 255)
  • サイズ: 1バイト
  • フォーマット指定子: %c

charの構文

文字キーワード 文字型の変数を宣言するために使用されます。

  char     var_name; 

文字の例

C




// C program to print Integer data types.> #include> int> main()> {> > char> a => 'a'> ;> > char> c;> > printf> (> 'Value of a: %c '> , a);> > a++;> > printf> (> 'Value of a after increment is: %c '> , a);> > // c is assigned ASCII values> > // which corresponds to the> > // character 'c'> > // a-->97 b-->98 c-->99>> > // here c will be printed> > c = 99;> > printf> (> 'Value of c: %c'> , c);> > return> 0;> }>

出力

Value of a: a Value of a after increment is: b Value of c: c 

浮動小数点データ型

Cプログラミングでは 浮動小数点データ型 浮動小数点値を格納するために使用されます。 C の Float は、10 進数値と指数値を格納するために使用されます。 10 進数 (浮動小数点値を含む数値) を単精度で格納するために使用されます。

  • 範囲: 1.2E-38~3.4E+38
  • サイズ: 4バイト
  • フォーマット指定子: %f

float の構文

浮動小数点キーワード 変数を浮動小数点として宣言するために使用されます。

  float     var_name; 

フロートの例

C




// C Program to demonstrate use> // of Floating types> #include> int> main()> {> > float> a = 9.0f;> > float> b = 2.5f;> > // 2x10^-4> > float> c = 2E-4f;> > printf> (> '%f '> , a);> > printf> (> '%f '> , b);> > printf> (> '%f'> , c);> > return> 0;> }>

出力

9.000000 2.500000 0.000200 

倍精度データ型

Double データ型 C では、10 進数 (浮動小数点値を持つ数値) を倍精度で格納するために使用されます。 C で 10 進数値を保持する数値を定義するために使用されます。

double データ型は基本的に、64 ビットの 10 進数または浮動小数点を保持できる高精度のデータ型です。 double は float に比べて精度が高いため、浮動小数点型が占有するメモリの 2 倍を占有することはより明らかです。小数点の前後に約 16 ~ 17 桁を簡単に収容できます。

  • 範囲: 1.7E-308~1.7E+308
  • サイズ: 8バイト
  • フォーマット指定子: %lf

Double の構文

変数は、次のメソッドを使用して倍精度浮動小数点として宣言できます。 ダブルキーワード:

  double    var_name; 

ダブルの例

C




// C Program to demonstrate> // use of double data type> #include> int> main()> {> > double> a = 123123123.00;> > double> b = 12.293123;> > double> c = 2312312312.123123;> > printf> (> '%lf '> , a);> > printf> (> '%lf '> , b);> > printf> (> '%lf'> , c);> > return> 0;> }>

出力

123123123.000000 12.293123 2312312312.123123 

無効なデータ型

C の void データ型は、値が存在しないことを指定するために使用されます。呼び出し元に結果値を提供しません。値も操作もありません。何も表現しない場合に使用されます。 void は、関数の戻り値の型として、関数の引数として void として、さまざまな方法で使用されます。 voidへのポインタ

構文:

// function return type void   void   exit(int check); // Function without any parameter can accept void. int print(  void  ); // memory allocation function which // returns a pointer to void.   void   *malloc (size_t size); 

ボイドの例

C




// C program to demonstrate> // use of void pointers> #include> int> main()> {> > int> val = 30;> > void> * ptr = &val;> > printf> (> '%d'> , *(> int> *)ptr);> > return> 0;> }>

出力

30 

C のデータ型のサイズ

C のデータ型のサイズはアーキテクチャのサイズに依存するため、データ型の普遍的なサイズを定義することはできません。そのために、C 言語には、データ型のサイズをチェックする sizeof() 演算子が用意されています。

C




// C Program to print size of> // different data type in C> #include> int> main()> {> > int> size_of_int => sizeof> (> int> );> > int> size_of_char => sizeof> (> char> );> > int> size_of_float => sizeof> (> float> );> > int> size_of_double => sizeof> (> double> );> > printf> (> 'The size of int data type : %d '> , size_of_int);> > printf> (> 'The size of char data type : %d '> ,> > size_of_char);> > printf> (> 'The size of float data type : %d '> ,> > size_of_float);> > printf> (> 'The size of double data type : %d'> ,> > size_of_double);> > return> 0;> }>

出力

The size of int data type : 4 The size of char data type : 1 The size of float data type : 4 The size of double data type : 8 

C のデータ型に関する知識を確認するには、次の手順に従ってください。 データ型に関するクイズ