C++ データ型


プログラミング言語でプログラミングする場合、さまざまな情報を格納するためにさまざまな変数が必要になります。変数が保持するのは、変数が格納する値のメモリ位置です。これは、変数を作成するときに、メモリ内にある程度のスペースが確保されることを意味します。

さまざまなデータ型 (文字型、ワイド文字型、整数型、浮動小数点型、倍精度浮動小数点型、ブール型など) の情報を保存する必要がある場合があります。オペレーティング システムは、それに応じてメモリを割り当てます。変数のデータ型と、予約されたメモリに何を保存するかを決定します。

基本的な組み込み型

C++ は、プログラマーに豊富な組み込みデータ型とユーザー定義のデータ型を提供します。次の表に、7 つの基本的な C++ データ型を示します。

int floatfloatdoubledoubleuntypedvoidワイド文字wchar_tunsigned 次の表は、メモリに値を格納するときにさまざまな変数タイプに必要な占有量と、最大値と最小値を示しています。この型の変数が保存できるもの。
いくつかの基本的な型は1 つ以上の型修飾子によって変更されました:
signed
short
long

    type
  • bit

  • range
  • char
  • 1バイト

  • -128から127または0から255
  • unsigned char

1バイト

0〜255 signed char1バイト-128から127int4バイト-2147483647un signed int4バイト0から4 294967295signed int4バイト-2147483647short int2 bytes-32768~3276 7unsigned short int範囲 0~65,535 signed short int範囲- 32767long int4バイト-2,147,483,647~2,147,483、647signed long int4バイトlong intと同じ符号なしlong int4バイト0から 4,294,967,295float4 バイト+/- 3.4e +/- 38 ( ~7 桁)double8 バイト+/- 1.7e +/- 308 (~15数字)long double8バイト+/- 1.7e + /- 308 (~15桁)wchar_t2または4バイト1ワイドキャラクタ

上記の表からわかるように、変数のサイズは使用するコンパイラーとコンピューターによって異なります。

次の例は、コンピューター上のさまざまなデータ型のサイズを出力します。

#include <iostream>
using namespace std;

int main()
{
   cout << "Size of char : " << sizeof(char) << endl;
   cout << "Size of int : " << sizeof(int) << endl;
   cout << "Size of short int : " << sizeof(short int) << endl;
   cout << "Size of long int : " << sizeof(long int) << endl;
   cout << "Size of float : " << sizeof(float) << endl;
   cout << "Size of double : " << sizeof(double) << endl;
   cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
   return 0;
}

この例では、各行の後に改行文字を挿入する endl を使用し、複数の値を画面に渡すために << 演算子を使用します。また、sizeof() 関数を使用して、さまざまなデータ型のサイズを取得します。

上記のコードがコンパイルされて実行されると、次の結果が生成されますが、これは使用するコンピューターによって異なります:

Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4

typedef 宣言

既存の型には typedef を使用できます 新しい名前を選択します。 typedef を使用して新しい型を定義するための構文は次のとおりです:

typedef type newname;

たとえば、次のステートメントはコンパイラに feet が int の別の名前であることを伝えます:

typedef int feet;

さて、次の宣言は完全に正当であり、全体の型変数距離:

feet distance;

列挙型

列挙型は、オプションの型名と、型の値として使用される識別子のセットを宣言します。 0 個以上の識別子をこのタイプの値として使用できます。各列挙子は列挙型の定数です。

列挙を作成するには、キーワード enum を使用する必要があります。列挙型の一般的な形式は次のとおりです:

enum enum-name { list of names } var-list;

ここで、enum-name は列挙型の名前です。名前のリスト { 名前のリスト } はカンマで区切られます。

たとえば、次のコードは色の列挙を定義しており、変数 c の型は color です。最後に、c には値「blue」が割り当てられます。

enum color { red, green, blue } c;
c = blue;

デフォルトでは、最初の名前の値は 0、2 番目の名前の値は 1、3 番目の名前の値は 2 などとなります。ただし、初期値を追加することで、名前に特別な値を割り当てることもできます。たとえば、以下の列挙では、green の値は 5 です。

enum color { red, green=5, blue };

ここで、blueの値は6です。デフォルトでは、各名前はその前の名前より1大きいためです。