ساختارها (Structures)
ساختارها (Structure) یعنی چند «متغیر (Variable)» مرتبط را کنار هم بگذاریم. هر متغیر داخل ساختار را «عضو (Member)» می گوییم. برعکس آرایه، نوع ها می توانند متفاوت باشند. مثل پرونده دانش آموز: نام، سن، نمره.
تعریف ساختارها و تفاوت با آرایه
در آرایه همه اعضا هم نوع اند. اما در ساختار انواع متفاوت اند.
ایجاد یک ساختار
با کلمه struct تعریف می کنیم. اعضا داخل {} قرار می گیرند.
struct {
int myNum;
string myString;
} myStructure;
دسترسی به اعضای ساختار
با نقطه (.) عضوها را می خوانیم یا مقدار می دهیم.
struct {
int myNum;
string myString;
} myStructure;
myStructure.myNum = 1;
myStructure.myString = "Hello World!";
cout << myStructure.myNum << "\n";
cout << myStructure.myString << "\n";
یک ساختار، چند متغیر
می توانیم همان تعریف را برای چند متغیر استفاده کنیم.
struct {
int myNum;
string myString;
} myStruct1, myStruct2, myStruct3;
نمونه کاربردی: نمایش دو ماشین با یک ساختار.
struct {
string brand;
string model;
int year;
} myCar1, myCar2;
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
ساختارهای نام دار (Named Structures)
اگر به ساختار نام بدهیم، مثل یک «نوع» جدید می شود.
struct car {
string brand;
string model;
int year;
};
car myCar1;
myCar1.brand = "BMW";
myCar1.model = "X5";
myCar1.year = 1999;
car myCar2;
myCar2.brand = "Ford";
myCar2.model = "Mustang";
myCar2.year = 1969;
cout << myCar1.brand << " " << myCar1.model << " " << myCar1.year << "\n";
cout << myCar2.brand << " " << myCar2.model << " " << myCar2.year << "\n";
تمرین: ساختار دانش آموز
ساختار student با name، age و grade بساز. سپس چاپ کن.
#include <iostream>
#include <string>
using namespace std;
struct student {
string name;
int age;
char grade;
};
int main() {
student s1;
s1.name = "John";
s1.age = 35;
s1.grade = 'A';
cout << "Name: " << s1.name << "\n";
cout << "Age: " << s1.age << "\n";
cout << "Grade: " << s1.grade << "\n";
return 0;
}
گام های عملی
- اعضا و نوع های لازم را فهرست کن.
- ساختار را با struct بساز.
- با نقطه مقدار بده و چاپ کن.
نکته: نام گذاری واضح بگذار تا کد خوانا بماند.
هشدار: نوع ها را درست انتخاب کن؛ اشتباه نوع، خطا می دهد.
جمع بندی سریع
- ساختارها گروهی از متغیرها هستند.
- اعضا می توانند نوع های مختلف داشته باشند.
- برای دسترسی از نقطه استفاده کن.
- ساختار نام دار مثل نوع جدید است.
ادامه مرتبط: آرایه های چندبعدی، نمونه عملی آرایه ها، و اندازه آرایه. برای مرور مفهوم ساختارها را همیشه دم دست داشته باش.