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

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

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

ارسال آرایه‌های تک بعدی به تابع

آرایه‌ها را می‌توان به صورت یک آرگومان به یک تابع ارسال کرد. به مثال زیر که در آن یک آرایه تک‌بعدی به یک تابع ارسال می‌شود توجه کنید.

مثال 1: ارسال آرایه تک‌ بعدی به یک تابع

برنامه ++C زیر نمرات 5 دانش‌آموز را از طریق ارسال یک آرایه تک‌بعدی به یک تابع نمایش می‌دهد.

1#include <iostream>
2using namespace std;
3void display(int marks[5]);
4int main()
5{
6    int marks[5] = {88, 76, 90, 61, 69};
7    display(marks);
8    return 0;
9}
10void display(int m[5])
11{
12    cout << "Displaying marks: "<< endl;
13    for (int i = 0; i < 5; ++i)
14    {
15        cout << "Student "<< i + 1 <<": "<< m[i] << endl;
16    }
17}

خروجی

Displaying marks:
Student 1: 88
Student 2: 76
Student 3: 90
Student 4: 61
Student 5: 69

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

display(marks);

ضمناً در زمان ارسال آرایه به عنوان یک آرگومان باید به تفاوت آرگومان با متغیر توجه داشته باشیم.

void display(int m[5]);

آرگومان marks در کد فوق نشان‌دهنده آدرس حافظه اولین عنصر آرایه [marks[5 است. آرگومان رسمی [int m[5 در اعلان تابع به ;int* m تبدیل می‌شود. این اشاره‌گر به همان آدرس اشاره شده از سوی marks آرایه اشاره می‌کند.

به همین دلیل است که گرچه تابع در تابع تعریف شده از سوی کاربر با نام آرایه متفاوتی به صورت [m[5 دستکاری می‌شود، اما در عمل آرایه اصلی marks دستکاری شده است.

++C ارسال یک آرایه به تابع را این چنین مدیریت می‌کند تا در مصرف زمان و حافظه صرفه‌جویی شود.

ارسال آرایه چند بعدی به یک تابع

آرایه چندبعدی را می‌توان به روشی مشابه آرایه تک‌بعدی ارسال کرد. به مثال زیر که در آن یک آرایه دوبعدی به یک تابع ارسال می‌شود توجه کنید:

مثال 2: ارسال آرایه چند بعدی به یک تابع

برنامه ++C برای نمایش عناصر آرایه دوبعدی از طریق ارسال آن به یک تابع به صورت زیر است:

1#include <iostream>
2using namespace std;
3void display(int n[3][2]);
4int main()
5{
6    int num[3][2] = {
7        {3, 4},
8        {9, 5},
9        {7, 1}
10    };
11    display(num);
12    return 0;
13}
14void display(int n[3][2])
15{
16    cout << "Displaying Values: " << endl;
17    for(int i = 0;  i < 3; ++i)
18    {
19        for(int j = 0; j < 2; ++j)
20        {
21            cout << n[i][j] << " ";
22        }
23    }
24}

خروجی

Displaying Values:

3 4 9 5 7 1

در برنامه فوق آرایه چندبعدی num به تابع ()display ارسال می‌شود. درون تابع ()display یک آرایه به نام (n (num با استفاده از حلقه for تودرتو پیمایش می‌شود. برنامه فوق از 2 حلقه for برای تعریف چرخه تکرار روی عناصر درون یک آرایه 2 بعدی استفاده می‌کند. اگر یک آرایه 3 بعدی وجود داشته باشد، باید از 3 حلقه for استفاده شود. در نهایت همه عناصر روی صفحه نمایش پیدا می‌کنند.

نکته: آرایه چندبعدی با ابعاد بیش از 2 می‌تواند به روشی مشابه آرایه دوبعدی ارسال شود.

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

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

==

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

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