برنامه زیر نمرات ۵ دانش آموز را با استفاده از تابع نمایش می دهد.
- #include
- 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 در کد بالا نشان دهنده آدرس حافظه عنصر اول آرایه [۵]mark است.
و آرگومان عادی [۵]int m در تعریف تابع به int * m تبدیل می شود. این اشاره گر به همان آدرس اشاره شده توسط آرایه marks اشاره دارد.
اگرچه در تابع آرایه با نام [۵]m تعریف شده اما آرایه marks هنگام ارسال به جای آن می نشیند و تغییرات روی آن اعمال می شود.
- ۹۹/۰۲/۰۱