با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش ++C در خدمت شما دوستان هستیم . در بخش قبلی با آرایه های چند بعدی در ++C آشنا شدید، در این جلسه قصد داریم تا ارسال آرایه به تابع در ++C و ارسال یک آرایه چند بعدی به تابع را به شما آموزش دهیم.
آرایه ها می توانند به عنوان یک آرگومان به توابع ارسال شوند.
مثال زیر نمرات ۵ دانشجو را تمایش می دهد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> using namespace std; void display(int marks[5]); int main() { int marks[5] = {88, 76, 90, 61, 69}; display(marks); return 0; } void display(int m[5]) { cout << "Displaying marks: "<< endl; for (int i = 0; i < 5; ++i) { cout << "Student "<< i + 1 <<": "<< m[i] << endl; } } |
خروجی به شکل زیر می باشد:
1 2 3 4 5 6 | Displaying marks: Student 1: 88 Student 2: 76 Student 3: 90 Student 4: 61 Student 5: 69 |
وقتی یک آرایه به عنوان یک آرگومان به تابع ارسال می شود، فقط نام آرایه به عنوان آرگومان استفاده خواهد شد.
1 | display(marks); |
این نوع آرایه ها نیز مانند آرایه یک بعدی به تابع ارسال می شوند.
در مثال زیر عناصر یک آرایه ۲ بعدی را توسط ارسال به تابع نمایش می دهیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <iostream> using namespace std; void display(int n[3][2]); int main() { int num[3][2] = { {3, 4}, {9, 5}, {7, 1} }; display(num); return 0; } void display(int n[3][2]) { cout << "Displaying Values: " << endl; for(int i = 0; i < 3; ++i) { for(int j = 0; j < 2; ++j) { cout << n[i][j] << " "; } } } |
خروجی به شکل زیر می باشد:
1 2 | Displaying Values: 3 4 9 5 7 1 |
تابع از ۲ حلقه برای دسترسی و نمایش عناصر آرایه استفاده می کند.
اگر آرایه مان ۳ بعدی باشد، ۳ حلقه برای دستری و نمایش عناصر آن نیاز است.
آرایه های بیشتر از ۲ بعد را نیز به همین منوال می توانیم به توابع ارسال کنیم.
توجه داشه باشید که هر تغییری بر روی آرایه در تابع، بر روی آرایه اصلی نیز تاثیر خواهد گذاشت.
این به این دلیل است که ارسال آرایه، آدرس اولین عنصر آرایه به تابع ارسال می شود.
جلسه آموزش ارسال آرایه به تابع در ++C نیز به پایان رسید.
در جلسه بعد به آموزش اشاره گر ها در ++C خواهیم پرداخت. با ما همراه باشید.
همچنین می توانید نظرات و سوالات خود را از طریق بخش نظرات سایت با ما در میان بگذارید.