c data types
すべてを学ぶ 例を含むC ++のデータ型。
これで 完全なC ++トレーニングチュートリアル 、 このチュートリアルでは、C ++のデータ型について説明します。
C ++のさまざまなエンティティを名前で識別するために使用される識別子はすでに見てきました。識別子とは別に、変数が情報やデータを格納していることもわかっています。
データを変数に関連付けるには、どのデータを正確に関連付けるか、つまり、変数がアルファベットまたは数字、あるいはその両方のみを格納しているかどうかも知る必要があります。つまり、変数に格納されるデータや情報を制限する必要があります。
これはまさにデータ型が登場する場所です。データ型は、変数に格納する必要のあるデータの種類を伝えるために使用されていると言えます。オペレーティングシステムは、変数に割り当てられたデータタイプに基づいてメモリを割り当て、変数に格納するデータのタイプを決定します。
学習内容:
データの種類
C ++は、プログラムで使用される2種類のデータをサポートしています。
- プリミティブ/標準データ型
- ユーザー定義のデータ型。
以下に示すのは、C ++でのデータ型の図解です。
プリミティブまたは標準のデータ型
プリミティブデータ型は、C ++言語が提供する組み込み型です。それらを直接使用して、変数や定数などのエンティティを宣言できます。あるいは、事前定義されたデータ型または標準データ型として呼び出すこともできます。
以下は、C ++が対応するキーワードでサポートするさまざまなプリミティブデータ型です。
- 整数=> int
- 文字=>文字
- 浮動小数点=>浮動小数点
- 倍精度浮動小数点=> double
- ブール値=> bool
- ボイドまたはバリューレスタイプ=>ボイド
- ワイド文字=> wchar_t
ユーザー定義のデータ型
C ++では、クラスや構造体などの独自のデータ型を定義することもできます。これらはユーザー定義型と呼ばれます。
C ++のさまざまなユーザー定義データ型を以下に示します。
- Typedef
- 列挙
- クラスまたはオブジェクト
- 構造
これらの型のうち、クラスデータ型はC ++のオブジェクト指向プログラミングでのみ使用されます。
プリミティブデータ型
次の表は、C ++でサポートされているすべてのプリミティブデータ型とそのさまざまな特性を示しています。
データ・タイプ | C ++キーワード | 値型 |
---|---|---|
ワイド文字 | wchar_t | Unicode文字列を含む文字 |
キャラクター | char | 文字(ASCII値) |
整数 | int | 数値の整数 |
浮動小数点 | 浮く | 単精度の10進値 |
小数点 | ダブル | 倍精度浮動小数点値 |
ブール値 | ブール | 正しいか間違っているか |
ボイド | ボイド | 価値がない(価値がない) |
データ型修飾子
異なる値を格納するプリミティブデータ型は、データ型修飾子と呼ばれるエンティティを使用して、保持できる値の長さを変更します。
したがって、C ++には次のタイプのデータ修飾子があります。
- 手話
- 符号なし
- ショート
- 長いです
各修飾子によって表されるデータの範囲は、使用しているコンパイラーによって異なります。
以下のプログラムは、さまざまなサイズのさまざまなデータ型を生成します。
#include using namespace std; int main() { cout<<'Primitive datatypes sizes: '< 出力:
プリミティブデータ型のサイズ:
短整数:2バイト
unsigned short int:2バイト
int:4バイト
unsigned int:4バイト
long int:8バイト
unsigned long int:8バイト
long long int:8バイト
unsigned long long int:8バイト
char:1バイト
符号付き文字:1バイト
unsigned char:1バイト
フロート:4バイト
ダブル:8バイト
long double:16バイト
wchar_t:4バイト
この出力のスクリーンショットを以下に示します。

ご覧のとおり、演算子のサイズを使用して、各データ型がサポートするデータの最大サイズを取得できます。
これらすべてのデータ型とそれに対応するサイズは、以下のように表にまとめることができます。
データ・タイプ ビット幅 範囲 短い整数 2バイト 32768〜32767 char 1バイト 127〜127または0〜255 unsigned char 1バイト 0から255 符号付き文字 1バイト 127から127 int 4バイト 2147483648から2147483647 unsigned int 4バイト 0から4294967295 署名されたint 4バイト 2147483648から2147483647 unsigned short int 範囲 0〜65,535 署名されたshortint 範囲 32768〜32767 long int 4バイト 2,147,483,647から2,147,483,647 署名されたlongint 4バイト longintと同じ unsigned long int 4バイト 0から4,294,967,295 浮く 4バイト +/- 3.4e +/- 38(〜7桁) ダブル 8バイト +/- 1.7e +/- 308(〜15桁) ロングダブル 8バイト +/- 1.7e +/- 308(〜15桁) wchar_t 2または4バイト 1つのワイド文字
これはすべて、C ++のプリミティブデータ型に関するものです。 ユーザー定義のデータ型
名前自体が示すように、これらのデータ型はユーザー自身によって定義されます。これらはユーザー定義であるため、プログラムの要件に従ってカスタマイズできます。
Typedef
typedef宣言を使用して、データ型のエイリアスまたは別の名前を作成します。次に、このエイリアスを使用して、さらに多くの変数を宣言できます。
たとえば、C ++での次の宣言について考えてみます。
typedef int age;
この宣言により、intデータ型のエイリアスエージを作成しました。
したがって、同様のものを宣言する場合は、以下に示すように、標準のデータ型の代わりにエイリアスを使用できます。
age num_of_years;
エイリアスは標準データ型の単なる別名であり、標準データ型と同様の方法で使用できることに注意してください。
列挙
C ++の列挙型は、各値に対応する整数定数を持つ値のセットで構成されるユーザー定義のデータ型です。
たとえば、次のように、曜日を列挙データ型として宣言できます。
enum daysOfWeek {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
デフォルトでは、各列挙値の整数定数はゼロから始まります。したがって、「Sunday」の値は0、「Monday」の値は1というようになります。
ただし、次のように、中間の最初からデフォルト値を変更することもできます。
enum daysOfWeek {Sunday, Monday, Tuesday=5, Wednesday, Thursday, Friday, Saturday};
ここで、日曜日の値は0、月曜日の値は1、火曜日の値は5になります。火曜日以降、残りの値は前の値(この場合は5)に続いて、6、7などになります。
次のプログラムで以前に宣言したこの列挙型を利用しましょう。
#include using namespace std; enum daysOfWeek {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}; int main() { daysOfWeek today; today = Thursday; cout<<'This is day '< 出力:
これは週の4日目です
同じもののスクリーンショットを以下に示します

上記のプログラムは一目瞭然です。列挙型を定義してから、その型変数を作成して曜日を出力します。
クラス
C ++では、「Class」という名前のさらに別のユーザー定義型を定義できます。クラスはオブジェクトのコレクションに他なりません。クラスはオブジェクトの青写真として機能し、クラス定義を使用してさまざまなリアルタイムの問題を設計できます。
答えを使った練習のためのSQLクエリ
たとえば、次のように定義される「Student」という名前のクラスについて考えてみます。
class student{ char* name; int age; public: void printDetails() { cout<<”Name: “<このクラスを定義したら、クラス名を使用して、クラス型の変数を宣言できます。型クラスのこれらの変数は、オブジェクトに他なりません。
したがって、student型のオブジェクトを次のように宣言します。
student s1; s1.printDetails();
上に示したように、公開されているこのクラスのメンバーにもアクセスできます。 C ++でのオブジェクト指向プログラミングについて説明するときに、クラスとオブジェクトについて詳しく説明します。
構造
C ++の構造体は、C>の構造体と似ています。実際、C ++の構造体の概念は、C言語から直接取り入れられています。クラスとして、構造はさまざまなデータ型の変数のコレクションでもあります。しかし、クラスには、変数と、これらの変数またはメンバーを呼び出すときに操作するメソッドの両方があります。
一方、構造体は、そのメンバーとして変数のみを持ちます。
structキーワードを使用して、次のように構造体personを定義できます。
struct employee{ Char name(50); Float salary; Int empId; };
構造体が定義されたら、次のようにstruct型の変数を宣言できます。
Employee emp;
次に、構造体変数とメンバーアクセス演算子(ドット演算子)を使用して、構造体のメンバーにアクセスできます。
結論
C ++でのオブジェクト指向プログラミングから始めたら、構造とクラス、およびそれらの違いについて詳しく学習します。
次のチュートリアルでは、C ++変数とその他の側面について説明します。
=> ここで詳細なC ++トレーニングチュートリアルを確認してください
推奨読書