برنامه زير نمرات 5 دانش آموز را با استفاده از تابع نمايش مي دهد.
- #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;
- }
- }
خروجي
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 در کد بالا نشان دهنده آدرس حافظه عنصر اول آرايه [5]mark است.
و آرگومان عادي [5]int m در تعريف تابع به int * m تبديل مي شود. اين اشاره گر به همان آدرس اشاره شده توسط آرايه marks اشاره دارد.
اگرچه در تابع آرايه با نام [5]m تعريف شده اما آرايه marks هنگام ارسال به جاي آن مي نشيند و تغييرات روي آن اعمال مي شود.
C++ براي انتقال يک آرايه به تابع از اين شيوه براي صرفه جويي در حافظه و زمان پردازش استفاده مي کند.
آرايه چند بعدي مي تواند مشابه بالا به صورت آرايه يک بعدي به تابع ارسال شود. مثال زير را در نظر بگيريد که مي خواهيم آرايه دو بعدي را به يک تابع ارسال کنيم:
برنامه زير عناصر يک آرايه دو بعدي را با استفاده از تابع نمايش مي دهد.
- #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] << ” “;
- }
- }
- }
خروجي
Displaying Values:
3 4 9 5 7 1
درباره این سایت