ارسال آرایه به عنوان آرگومان

می توان آرایه ها را به عنوان آرگومان به متد ارسال کرد. ابتدا شما باید پارامترهای متد را طوری تعریف کنید که آرایه دریافت کنند. به مثال زیر توجه کنید.

   1: #include <iostream>
   2: using namespace std;
   3: 
   4: void TestArray(int numbers[])
   5: {
   6:     for (int i = 0; i <= sizeof(numbers) ; i++)
   7:     {
   8:         cout << numbers[i] << endl;
   9:     }
  10: }
  11: 
  12: int main()
  13: {
  14:     int array[] = { 1, 2, 3, 4, 5 };
  15: 
  16:     TestArray(array);
  17: }
1
2
3
4
5

مشاهده کردید که به سادگی می توان با گذاشتن کروشه بعد از نام پارامتر یک متد ایجاد کرد که پارامتر آن، آرایه دریافت می کند. وقتی متد در خط 16 فراخوانی می شود، آرایه را فقط با استفاده از نام آن و بدون استفاده از اندیس ارسال می کنیم. پس آرایه ها هم به روش ارجاع به متدها ارسال می شوند. در خطوط 9-6 از حلقه for برای دسترسی به اجزای اصلی آرایه که به عوان آرگومان به متد ارسال کرده ایم استفاده می کنیم. در زیر نحوه ارسال یک آرایه به روش ارجاع نشان داده شده است.

   1: #include <iostream>
   2: using namespace std;
   3: 
   4: void IncrementElements(int numbers[])
   5: {
   6:     for (int i = 0; i <= sizeof(numbers); i++)
   7:     {
   8:         numbers[i]++;
   9:     }
  10: }
  11: 
  12: int main()
  13: {
  14:     int array[] = { 1, 2, 3, 4, 5 };
  15: 
  16:     IncrementElements(array);
  17: 
  18:     for (int i = 0; i < size(array); i++)
  19:     {
  20:         cout << array[i] << endl;
  21:     }
  22: }
2
3
4
5
6

برنامه بالا یک متد را نشان می دهد که یک آرایه را دریافت می کند و به هر یک از عناصر آن یک واحد اضافه می کند. در داخل متد ما مقادیر هر یک از اجزای آرایه را افزایش داده ایم. سپس از متد خارج شده و نتیجه را نشان می دهیم. مشاهده می کنید که هر یک از مقادیر اصلی متد هم اصلاح شده اند. می توان دو یا چند آرایه را به عنوان آرگومان به متد ارسال کرد :

void MyMethod(int param1[], int param2[])
{
   //code here
}