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


در این مقاله به بررسی روشهای ارسال ساختار به تابع به صورت یک آرگومان میپردازیم و از آنها در برنامههای خود استفاده میکنیم. شایان ذکر است که متغیرهای ساختار را میتوان به یک تابع ارسال کرد و آنها را به مانند آرگومانهای نرمال بازگشت داد.
برای مطالعه قسمت قبلی این مجموعه مطلب آموزشی میتوانید روی این لینک کلیک کنید: «ساختارهای ++C — راهنمای جامع».
ارسال ساختار به تابع در ++C
یک متغیر struct را میتوان به روشی مشابه آرگومان نرمال به تابع ارسال کرد.
به مثال زیر توجه کنید:
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 ارسال میشود که اطلاعات را به نمایش میگذارد. برای مطالعه بخش بعدی روی لینک زیر کلیک کنید:
اگر این نوشته برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- آموزش برنامه نویسی C++
- مجموعه آموزشهای دروس علوم و مهندسی کامپیوتر
- آموزش ++C — راهنمای شروع یادگیری
- حلقه while و do…while در ++C — راهنمای کاربردی
==