آموزش structures (ساختار ها) در C++ (به زبان کاملا ساده)

رتبه: 5 ار 3 رای SSSSS
آموزش structures (ساختار ها)
نویسنده: میلاد حیدری زمان مطالعه 3 دقیقه
Banner Image

در این آموزش، در مورد struct در برنامه نویسی ++ C یاد خواهید گرفت؛ این که struct چیست، چگونه تعریف می شود و برای چه استفاده می شود.

struct مجموعه ای از متغیرها با نوع متفاوت، تحت یک نام واحد است. شبیه به class است، که هر دو مجموعه ای از داده با نوع مختلف را نگه می دارند.

به عنوان مثال: می خواهید اطلاعاتی در مورد یک فرد ذخیره کنید: نام ، سن و حقوق. به راحتی می توانید متغیرهای مختلف name ، age، salary را برای ذخیره این اطلاعات به صورت جداگانه ایجاد کنید.

با این حال، در آینده می خواهید اطلاعات مربوط به چند نفر را ذخیره کنید. حالا باید متغیرهای مختلفی برای هر شخص ایجاد کنید: name1، age1، salary1، name2، age2، salary2

با این کار کد بسیار زیاد و گیج کننده خواهد شد. همچنین، از آنجایی که ارتباطی بین متغیرها (اطلاعات) وجود ندارد، این کار می تواند غلط باشد.

یک رویکرد بهتر این است که مجموعه ای از اطلاعات مرتبط به هم تحت نام واحد Person داشته باشیم، و برای هر شخص از آن استفاده کنیم. با این کار کد بهتر، خوانا و کارآمد به نظر می رسد.

این مجموعه از اطلاعات مرتبط به هم تحت نام واحد Person یک ساختار است.

چگونه می توان در ++C یک struct پیاده سازی کرد؟

کلید واژه struct به همراه یک شناسه (نام struct) ساختار را تعریف می کند.

سپس داخل braces ها، می توانید یک یا چند عضو (اعلان متغیرها در داخل براکت) از آن ساختار را تعریف کنید. مثلا:

struct Person

{

char name[50];

int age;

float salary;

};

در اینجا یک ساختار Person تعریف شده که دارای سه عضو است: name، age و salary.

هنگامی که یک struct ایجاد می شود، هیچ حافظه ای به آن اختصاص نمی یابد.

تعریف struct تنها یک طرح برای ایجاد متغیرها است. می توانید آن را به عنوان نوعی داده تصور کنید. مثل وقتی که یک عدد صحیح به صورت زیر تعریف می کنید:

int foo;

int مشخص می کند که متغیر foo تنها یک عنصر عدد صحیح را نگه می دارد. به طور مشابه، struct هم مانند نوع داده یا datatype عمل می کند.

نکته: بعد از تعریف struct حتما از (؛) استفاده کنید.

چگونه یک متغیر از نوع struct تعریف کنیم؟

بعد از اینکه ساختار person را به شکل بالا پیاده سازی کردید متغیر را بصورت زیر تعریف کنید:

Person bill;

در اینجا، متغیر ساختار bill تعریف شده که از نوع Person است.

هنگامی که متغیر struct تعریف می شود، آنگاه حافظه مورد نیاز توسط کامپایلر اختصاص داده می شود.

با توجه به اینکه سیستم ۳۲ بیتی یا ۶۴ بیتی دارید، حافظه متغیر float، ۴ بایت، حافظه int برابر ۴ بایت و حافظه char 1بایت است.

از این رو، ۵۸ بایت حافظه برای متغیر bill اختصاص داده می شود.

چگونه به یک عضو struct دسترسی پیدا کنیم؟

به اعضای متغیر struct با استفاده از یک نقطه (.) دسترسی پیدا می کنیم.

فرض کنید می خواهید به عضو age از متغیر bill دسترسی پیدا کنید و ۵۰ را به آن اختصاص دهید. می توان این کار را با استفاده از کد زیر انجام داد:

bill.age = 50;

مثال : struct در C++

برنامه C++ مقدار دهی به یک عضو از struct و نمایش آن.

  1. #include <iostream>
  2. using namespace std;
  3. struct Person
  4. {
  5. char name[50];
  6. int age;
  7. float salary;
  8. };
  9. int main()
  10. {
  11. Person p1;
  12. cout << “Enter Full name: “;
  13. cin.get(p1.name, 50);
  14. cout << “Enter age: “;
  15. cin >> p1.age;
  16. cout << “Enter salary: “;
  17. cin >> p1.salary;
  18. cout << “nDisplaying Information.” << endl;
  19. cout << “Name: ” << p1.name << endl;
  20. cout <<“Age: ” << p1.age << endl;
  21. cout << “Salary: ” << p1.salary;
  22. return 0;
  23. }

خروجی

Enter Full name: Magdalena Dankova

Enter age: 27

Enter salary: 1024.4

Displaying Information.

Name: Magdalena Dankova

Age: 27

Salary: 1024.4

در اینجا ساختار struct تعریف شده که سه عضو name، age و salary دارد.

در داخل تابع ()main یک متغیر ساختار p1 تعریف شده است. سپس، از کاربر خواسته می شود اطلاعات را وارد کند و اطلاعات وارد شده توسط کاربر، نمایش داده می شود.

profile name
میلاد حیدری

بخندید کتاب بخونید و خوب باشید تا جامعه مون به آرامش برسه. لطفا ! هر سوالی دارید در بخش نظرات مطرح کنید. ما یا سایر هموطنان عزیز پاسخ خواهیم داد. برای کمک به سایت ما و گسترش آموزش در بین هموطنان، در سایتها، وبلاگ ها و شبکه های اجتماعی لینک سایت ما را درج کنید.

مطالب پیشنهادی برای شما

دیدگاهتان را بنویسید

1 2 3 4 5

3 نظر درباره «آموزش structures (ساختار ها) در C++ (به زبان کاملا ساده)»

  • arian click
    arian click آیا این دیدگاه مفید بود ؟

    من که واقعا نمیدونم چی بگم
    خیلی عالیه
    هرچیزی که برام گنگ باشه به سر به اینجا میزنم
    می تونم بگم یه نعمته بزرگیه که رایگان در اختیار داریم 🤠🤠

    پاسخ
  • علی اصغر مظفری علی آبادی
    علی اصغر مظفری علی آبادی آیا این دیدگاه مفید بود ؟

    سلام، خدا خیرتون بده

    پاسخ
  • رضا
    رضا آیا این دیدگاه مفید بود ؟

    سلام
    برای اینکه struct توی فایل های دیگه هم قابل تشخیص و استفاده باشه چیکار باید کرد!؟
    مثلا توابع یا متغیر ها رو extern میکنیم .

    پاسخ
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید