ارسال ساختار به تابع در ++C — راهنمای جامع

۵۶۶ بازدید
آخرین به‌روزرسانی: ۱۵ مهر ۱۴۰۲
زمان مطالعه: ۲ دقیقه
ارسال ساختار به تابع در ++C — راهنمای جامع

در این مقاله به بررسی روش‌های ارسال ساختار به تابع به صورت یک آرگومان می‌پردازیم و از آن‌ها در برنامه‌های خود استفاده می‌کنیم. شایان ذکر است که متغیرهای ساختار را می‌توان به یک تابع ارسال کرد و آن‌ها را به مانند آرگومان‌های نرمال بازگشت داد.

فهرست مطالب این نوشته

برای مطالعه قسمت قبلی این مجموعه مطلب آموزشی می‌توانید روی این لینک کلیک کنید: «ساختارهای ++C — راهنمای جامع».

ارسال ساختار به تابع در ++C

یک متغیر ساختار را می‌توان به روشی مشابه آرگومان نرمال به تابع ارسال کرد.

به مثال زیر توجه کنید:

1#include <iostream>
2using namespace std;
3struct Person
4{
5    char name[50];
6    int age;
7    float salary;
8};
9void displayData(Person);   // Function declaration
10int main()
11{
12    Person p;
13    cout << "Enter Full name: ";
14    cin.get(p.name, 50);
15    cout << "Enter age: ";
16    cin >> p.age;
17    cout << "Enter salary: ";
18    cin >> p.salary;
19    // Function call with structure variable as an argument
20    displayData(p);
21    return 0;
22}
23void displayData(Person p)
24{
25    cout << "\nDisplaying Information." << endl;
26    cout << "Name: " << p.name << endl;
27    cout <<"Age: " << p.age << endl;
28    cout << "Salary: " << p.salary;
29}

خروجی:

Enter Full name: Bill Jobs
Enter age: 55
Enter salary: 34233.4

Displaying Information.
Name: Bill Jobs
Age: 55
Salary: 34233.4

در این برنامه از کاربر خواسته می‌شود که مقادیر name ،age و salary یک فرد (Person) را درون تابع main()‎ وارد کند. سپس متغیر ساختار p به صورت زیر به تابع ارسال می‌شود:

displayData(p);

نوع بازگشتی displayData از نوع void است و یک آرگومان منفرد از نوع Person به آن ارسال می‌شود.

در ادامه اعضای ساختار p از این تابع نمایش می‌یابند:

1#include <iostream>
2using namespace std;
3struct Person {
4    char name[50];
5    int age;
6    float salary;
7};
8Person getData(Person); 
9void displayData(Person); 
10int main()
11{
12    Person p;
13    p = getData(p);   
14    displayData(p);
15    return 0;
16}
17Person getData(Person p) {
18    cout << "Enter Full name: ";
19    cin.get(p.name, 50);
20    cout << "Enter age: ";
21    cin >> p.age;
22    cout << "Enter salary: ";
23    cin >> p.salary;
24    return p;
25}
26void displayData(Person p)
27{
28    cout << "\nDisplaying Information." << endl;
29    cout << "Name: " << p.name << endl;
30    cout <<"Age: " << p.age << endl;
31    cout << "Salary: " << p.salary;
32}

خروجی این برنامه همانند برنامه فوق است. در این برنامه متغیر ساختار p از نوع ساختار Person است که در تابع ()main تعریف می‌شود. متغیر ساختار p به تابع ()getData ارسال می‌شود که ورودی را از کاربر می‌گیرد و سپس به تابع main بازگشت می‌دهد.

p = getData(p);

نکته: مقدار همه اعضای متغیر ساختار می‌توانند با استفاده از عملگر انتساب = به ساختار دیگر انتساب پیدا کنند، به شرط این که هر دو متغیر ساختار از نوع یکسانی داشته باشند. بدین ترتیب نیازی به انتساب دستی هر عضو وجود ندارد. در ادامه متغیر ساختار p به تابع ()displayData ارسال می‌شود که اطلاعات را به نمایش می‌گذارد. برای مطالعه بخش بعدی روی لینک زیر کلیک کنید:

اگر این نوشته برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۲ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
programiz
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *