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

در این مقاله به بررسی روشهای ارسال ساختار به تابع به صورت یک آرگومان میپردازیم و از آنها در برنامههای خود استفاده میکنیم. شایان ذکر است که متغیرهای ساختار را میتوان به یک تابع ارسال کرد و آنها را به مانند آرگومانهای نرمال بازگشت داد.
برای مطالعه قسمت قبلی این مجموعه مطلب آموزشی میتوانید روی این لینک کلیک کنید: «ساختارهای ++C — راهنمای جامع».
ارسال ساختار به تابع در ++C
یک متغیر ساختار را میتوان به روشی مشابه آرگومان نرمال به تابع ارسال کرد. به مثال زیر توجه کنید:
#include <iostream> using namespace std; struct Person { char name[50]; int age; float salary; }; void displayData(Person); // Function declaration int main() { Person p; cout << "Enter Full name: "; cin.get(p.name, 50); cout << "Enter age: "; cin >> p.age; cout << "Enter salary: "; cin >> p.salary; // Function call with structure variable as an argument displayData(p); return 0; } void displayData(Person p) { cout << "\nDisplaying Information." << endl; cout << "Name: " << p.name << endl; cout <<"Age: " << p.age << endl; cout << "Salary: " << p.salary; }
خروجی:
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 از این تابع نمایش مییابند:
#include <iostream> using namespace std; struct Person { char name[50]; int age; float salary; }; Person getData(Person); void displayData(Person); int main() { Person p; p = getData(p); displayData(p); return 0; } Person getData(Person p) { cout << "Enter Full name: "; cin.get(p.name, 50); cout << "Enter age: "; cin >> p.age; cout << "Enter salary: "; cin >> p.salary; return p; } void displayData(Person p) { cout << "\nDisplaying Information." << endl; cout << "Name: " << p.name << endl; cout <<"Age: " << p.age << endl; cout << "Salary: " << p.salary; }
خروجی این برنامه همانند برنامه فوق است. در این برنامه متغیر ساختار p از نوع ساختار Person است که در تابع ()main تعریف میشود. متغیر ساختار p به تابع ()getData ارسال میشود که ورودی را از کاربر میگیرد و سپس به تابع main بازگشت میدهد.
p = getData(p);
نکته: مقدار همه اعضای متغیر ساختار میتوانند با استفاده از عملگر انتساب = به ساختار دیگر انتساب پیدا کنند، به شرط این که هر دو متغیر ساختار از نوع یکسانی داشته باشند. بدین ترتیب نیازی به انتساب دستی هر عضو وجود ندارد. در ادامه متغیر ساختار p به تابع ()displayData ارسال میشود که اطلاعات را به نمایش میگذارد. برای مطالعه بخش بعدی روی لینک زیر کلیک کنید:
اگر این نوشته برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- آموزش برنامه نویسی C++
- مجموعه آموزشهای دروس علوم و مهندسی کامپیوتر
- آموزش ++C — راهنمای شروع یادگیری
- حلقه while و do…while در ++C — راهنمای کاربردی
==