工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++ 構造体と例

C++ の構造体とは?

STRUCT 異なるデータ型の要素をまとめて格納するために使用できる C++ データ構造です。 C++ では、構造体はユーザー定義のデータ型です。この構造は、異なるデータ タイプのアイテムを 1 つのデータ タイプの下にグループ化するためのデータ タイプを作成します。

例:

誰か、名前、市民権、年齢に関する情報を保存する必要があるとします。名前、市民権、年齢などの変数を作成して、データを個別に保存できます。

ただし、将来、多くの人に関する情報を保存する必要が生じる可能性があります。これは、さまざまな個人の変数が作成されることを意味します。たとえば、name1、citizenship1、age1 などです。これを避けるには、構造体を作成することをお勧めします。

この C++ チュートリアルでは、次のことを学びます:

ストラクチャを使用する場合

C++ で構造体を使用する理由はいくつかあります。

C++ 構造体の初期化

C++ 構造を作成するには、struct キーワードを使用し、その後に識別子を続けます。識別子は構造体の名前になります。 C++ 構造体を作成するための構文は次のとおりです:

構文:

struct struct_name  
{  
     // struct members
}   

上記の構文では、struct キーワードを使用しています。 struct_name は構造体の名前です。

構造体メンバーは中括弧内に追加されます。これらのメンバーは、おそらく異なるデータ型に属しています。

例:

struct Person  
{  
    char name[30];  
     int citizenship;  
     int age;  
}  

上記の例では、Person は 3 つのメンバーを持つ構造体です。メンバーには、名前、市民権、および年齢が含まれます。メンバーの 1 つは char データ型で、残りの 2 つは整数で、構造体が作成されるとき、メモリは割り当てられません。メモリは、変数が構造体に追加された後にのみ割り当てられます。

構造体インスタンスの作成

上記の例では、Person という名前の構造体を作成しました。次のように構造体変数を作成できます:

Person p;

p は Person 型の構造体変数です。この変数を使用して、構造体のメンバーにアクセスできます。

構造体メンバーへのアクセス

構造体メンバーにアクセスするには、構造体のインスタンスとドット (.) 演算子を使用します。たとえば、構造体 Person のメンバー age にアクセスするには:

p.age = 27;

構造体のインスタンス p を使用して、構造体 Person のメンバ age にアクセスしました。次に、メンバーの年齢の値を 27 に設定しました。

例 1:

#include <iostream>    
using namespace std;
struct Person
{
	int citizenship;
	int age;
};
int main(void) {
	struct Person p;
	p.citizenship = 1;
	p.age = 27;
	cout << "Person citizenship: " << p.citizenship << endl;
	cout << "Person age: " << p.age << endl;

	return 0;
}

出力:

コードのスクリーンショットは次のとおりです:

コードの説明:

<オール>
  • iostream ヘッダー ファイルをプログラムにインクルードして、そこで定義されている関数を使用します。
  • std 名前空間を含めて、呼び出さずにそのクラスを使用します。
  • Person という名前の構造体を作成します。
  • 構造体本体の始まり
  • citizenship という整数型の構造体メンバーを作成します。
  • 整数型の age という名前の構造体メンバーを作成します。
  • 構造体本体の終了
  • main() 関数を呼び出します。プログラム ロジックは、この関数の本体内に追加する必要があります。
  • 構造体 Person のインスタンスを作成し、p という名前を付けます。
  • 構造体メンバーの市民権の値を 1 に設定します。
  • 構造体メンバー age の値を 27 に設定します。
  • 構造体メンバーの市民権の値を他のテキストと一緒にコンソールに出力します。
  • 構造体メンバー age の値を他のテキストと一緒にコンソールに出力します。
  • 正常に実行された場合、プログラムは値を返す必要があります。
  • main() 関数の終わり。
  • 構造体へのポインタ

    構造体を指すポインターを作成することができます。これは、int、float、double などのネイティブ データ型を指すポインターが作成される方法に似ています。 C++ のポインタはメモリ位置を格納することに注意してください。

    例 2:

    #include <iostream>
    using namespace std;
    
    struct Length
    {
    	int meters;
    	float centimeters;
    };
    
    int main()
    {
    	Length *ptr, l;
    
    	ptr = &l;
    
    	cout << "Enter meters: ";
    	cin >> (*ptr).meters;
    	cout << "Enter centimeters: ";
    	cin >> (*ptr).centimeters;
    	cout << "Length = " << (*ptr).meters << " meters " << (*ptr).centimeters << " centimeters";
    
    	return 0;
    }
    

    出力:

    コードのスクリーンショットは次のとおりです:

    コードの説明:

    <オール>
  • 関数を使用するために、プログラムに iostream ヘッダー ファイルを含めます。
  • プログラムに std 名前空間を含めて、呼び出さずにそのクラスを使用します。
  • Length という名前の構造体を作成します。
  • 構造体の長さの本体の開始
  • 整数データ型のメートルという名前の構造体メンバーを作成します。
  • 整数型の centimeters という名前の構造体メンバーを作成します。
  • 構造体の長さの本体の終わり。
  • main() 関数を呼び出します。
  • main() 関数の本体の開始
  • Length 型のポインター変数 *ptr と通常の変数 l を作成します。
  • 変数 l のアドレスをポインタ変数に格納します。
  • コンソールにメッセージを表示し、ユーザーに可変メーターの値を入力するように求めます。
  • ユーザーがキーボードから入力した値を読み取ります。ここでは、ポインター変数を使用してメンバー関数 meter にアクセスしています。
  • 可変センチメートルの値を入力するようユーザーに求めるメッセージをコンソールに表示します。
  • ユーザーがキーボードから入力した値を読み取ります。ここでは、ポインター変数を使用してメンバー関数 centimeters にアクセスしています。
  • ユーザーから読み取った値を他のテキストと一緒にコンソールに表示します。
  • プログラムは、実行が成功したときに値を返さなければなりません。
  • main() 関数の本体の終わり。
  • 関数引数としての構造体

    構造体を引数として関数に渡すことができます。これは、通常の引数を渡すのと同じ方法で行われます。構造体変数を関数に渡すこともできます。良い例は、構造体メンバーの値を表示する必要がある場合です。これを示しましょう:

    例 3:

    #include<iostream>
    using namespace std;
    
    struct Person
    {
    	int citizenship;
    	int age;
    };
    
    void func(struct Person p);
    
    int main()
    {
    	struct Person p;
    
    	p.citizenship = 1;
    	p.age = 27;
    
    	func(p);
    	return 0;
    }
    void func(struct Person p)
    {
    	cout << " Person citizenship: " << p.citizenship<<endl;
    	cout << " Person age: " << p.age;
    }
    

    出力:

    コードのスクリーンショットは次のとおりです:

    コードの説明:

    <オール>
  • iostream ヘッダー ファイルをファイルにインクルードします。その後、エラーを発生させずに関数を使用します。
  • プログラムに std 名前空間を含めて、そのクラスを使用します。クラスを使用するために名前空間を呼び出す必要はありません。
  • Person という名前の構造体を作成します。
  • 構造体 Person の本体の開始
  • 構造体 Person のメンバーを作成します。メンバーは市民権という名前で、整数型です。
  • 構造体 Person のメンバーを作成します。メンバーの名前は age で、整数型です。
  • 構造体 Person の本体の終わり。
  • 構造体 Person のインスタンス p を引数として取る関数を作成します。
  • メイン関数を呼び出します。 { は、main() 関数の本体の開始を示します。
  • 構造体 Person のインスタンスを作成し、p という名前を付けます。
  • 構造体 p のインスタンスを使用して構造体メンバー変数の市民権にアクセスし、それに値 1 を割り当てます。
  • 構造体のインスタンス p を使用して構造体メンバー変数 age にアクセスし、それに値 27 を割り当てます。
  • 関数を呼び出し、構造体 Person のインスタンス p を引数として渡します。
  • 関数は、実行が成功したときに値を返す必要があります。
  • main() 関数の本体の終わり。
  • 関数の本体を作成します。
  • 関数本体の開始
  • 構造体メンバーの市民権の値にアクセスし、他のテキストと一緒にコンソールに出力します。
  • 構造体メンバーの age 値にアクセスし、他のテキストと一緒にコンソールに出力します。
  • 関数本体の終わり
  • C++ 構造の制限

    以下は構造の制限です:

    まとめ:


    C言語

    1. C 構造体とポインター
    2. C++ の演算子と例:型とプログラムとは
    3. C++ do…while ループと例
    4. C++ Switch Case ステートメントと EXAMPLE
    5. 例による配列の C++ 動的割り当て
    6. C++ ポインタと例
    7. C++ Char データ型と例
    8. C++ 演算子のオーバーロードと例
    9. C++ の std::list と例
    10. C++ 関数とプログラム例
    11. 構造体とクラスの違い:C++ の例で説明