C++ 構造体(構造体)
C++構造体
構造体(構造体とも呼ばれます)は、関連するいくつかの変数を1つの場所にグループ化する方法です。構造体の各変数は、構造のメンバと呼ばれる。
配列とは異なり、構造体にはさまざまなデータ型 (int、string、boolなど)を含めることができます。
構造を作成する
構造を作成するには、struct
キーワードを使用して、中括弧内で各メンバーを宣言します。
宣言の後に、構造体変数の名前を指定します(以下の例のmystructures)。
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
構造体メンバーへのアクセス
構造体のメンバーにアクセスするには、ドット構文 (.
)を使用します。
例
構造体のメンバーにデータを割り当てて出力します。
// Create a structure variable called myStructure
struct {
int myNum;
string myString;
} myStructure;
// Assign values to members of myStructure
myStructure.myNum = 1;
myStructure.myString = "Hello World!";
// Print members of myStructure
cout << myStructure.myNum << "\n";
cout << myStructure.myString << "\n";
複数の変数に1つの構造体
コンマ (,
) を使用すると、1つの構造体を多くの変数でを使用することができます。
struct {
int myNum;
string myString;
} myStruct1, myStruct2, myStruct3; // Multiple structure variables separated with commas
この例は、2つの異なる変数で構造体を使用する方法を示しています。
例
1つの構造体を使用して2台の車を表す。
struct {
string brand;
string model;
int year;
} myCar1, myCar2; // We can add variables by separating them with a comma here
// Put data into the first structure
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
// Put data into the second structure
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
// Print the structure members
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
名前付き構造
構造体に名前を付けることで、データ型として扱うことができます。これは、いつでもプログラムのどこにでも、この構造を持つ変数を作成できることを意味します。
名前付き構造を作成するには、構造の名前をstruct
キーワードの直後に置きます。
struct myDataType { // This structure is named "myDataType"
int myNum;
string myString;
};
構造体を使用する変数を宣言するには、構造体の名前を変数のデータ型として使用します。
myDataType myVar;
例
1つの構造体を使用して2台の車を表す。
// Declare a structure named "car"
struct car {
string brand;
string model;
int year;
};
int main() {
// Create a car structure and store it in myCar1;
car myCar1;
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
// Create another car structure and store it in myCar2;
car myCar2;
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
// Print the structure members
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
return 0;
}
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。