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


برنامه زير نمرات 5 دانش آموز را با استفاده از تابع نمايش مي دهد.



  1. #include <iostream>

  2. using namespace std;

  3. void display(int marks[5]);

  4. int main()

  5. {

  6. int marks[5] = {88, 76, 90, 61, 69};

  7. display(marks);

  8. return 0;

  9. }

  10. void 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 در کد بالا نشان دهنده آدرس حافظه عنصر اول آرايه [5]mark است.


و آرگومان عادي [5]int m  در تعريف تابع به int * m تبديل مي شود. اين اشاره گر به همان آدرس اشاره شده توسط آرايه marks اشاره دارد.


اگرچه در تابع آرايه با نام [5]m تعريف شده اما آرايه marks هنگام ارسال به جاي آن مي نشيند و تغييرات روي آن اعمال مي شود.


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


انتقال آرايه چند بعدي به يک تابع


آرايه چند بعدي مي تواند مشابه بالا به صورت آرايه يک بعدي به تابع ارسال شود. مثال زير را در نظر بگيريد که مي خواهيم آرايه دو بعدي را به يک تابع ارسال کنيم:


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


برنامه زير عناصر يک آرايه دو بعدي را با استفاده از تابع نمايش مي دهد.



  1. #include <iostream>

  2. using namespace std;

  3. void display(int n[3][2]);

  4. int main()

  5. {

  6. int num[3][2] = {

  7. {3, 4},

  8. {9, 5},

  9. {7, 1}

  10. };

  11. display(num);

  12. return 0;

  13. }

  14. void 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



مشخصات

تبلیغات

محل تبلیغات شما
محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

برترین جستجو ها

آخرین جستجو ها

راهنمايي اخذ ويزا فروشگاه عینک آفتابی ریبن من | گارانتی عدم رضایت 10 روزه یــہ دُخـــتـــرِ جــیــڪ جــیــڪـــو حالا بریم حق طلبی جک پارکینگ - درب اتوماتیک | ایمن رهرو مقالات شخصی امنیت سایبری Carl Alireza.5.ebi