مثال 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


5 تا از بهترين روشهاي فشرده سازي عکس و فيلم با نرم افزارهاي زيپ

ارسال آرايه به تابع در برنامه نويسي C++ (به زبان کاملا ساده)

int ,marks ,display ,void ,namespace ,std ,marks 5 ,display int ,{int marks ,{88 76 ,5 {88

مشخصات

آخرین ارسال ها

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


chromnulipo networktopography بلاگ ایران معرفی لینک و تبلیغات car tool news تخفیف دونی mortazaviali213 uriumanth علاقه های موفقیت و راه های موفقیت نرم افزار مدیریت گیم نت و کافی نت