ارسال آرایه به عنوان آرگومان به تابع در زبان C++ – آموزش زبان C++

cpp passing arrays to functions 4381 ارسال آرایه به عنوان آرگومان به تابع در زبان C++   آموزش زبان C++

ارسال آرایه به عنوان آرگومان به تابع در زبان C++

در زبان برنامه نویسی C++ به منظور ارسال آرایه به یک تابع سه روش وجود دارد که در ادامه بررسی می کنیم. هر سه روش نتایج مشابهی دارند. ارسال آرایه های چند بعدی هم مشابه ارسال آرایه تک بعدی است.

روش اول (پارامتر تابع به عنوان یک اشاره گر):

void myFunction(int *param) {
   .
   .
   .
}

روش دوم (پارامتر تابع به عنوان یک آرایه با سایز مشخص شده):

void myFunction(int param[10]) {
   .
   .
   .
}

روش سوم (پارامتر تابع به عنوان یک آرایه با سایز مشخص نشده):

void myFunction(int param[]) {
   .
   .
   .
}

مثال

حال تابع زیر را در نظر بگیرید. این تابع یک آراگومان به عنوان آرایه و یک آرگومان دیگر به عنوان سایز آرایه می گیرد و میانگین اعداد موجود در آرایه را برمیگرداند.

double getAverage(int arr[], int size) {
  int i, sum = 0;       
  double avg;          
   for (i = 0; i < size; ++i) {
      sum += arr[i];
   }
   avg = double(sum) / size;
   return avg;
}

مثال زیر نحوه استفاده از این تابع را نشان می دهد:

#include <iostream>
using namespace std;
// function declaration:
double getAverage(int arr[], int size);
int main () {
   // an int array with 5 elements.
   int balance[5] = {1000, 2, 3, 17, 50};
   double avg;
   // pass pointer to the array as an argument.
   avg = getAverage( balance, 5 ) ;
   // output the returned value 
   cout << "Average value is: " << avg << endl; 
   return 0;
}
double getAverage(int arr[], int size) {
  int i, sum = 0;       
  double avg;          
   for (i = 0; i < size; ++i) {
      sum += arr[i];
   }
   avg = double(sum) / size;
   return avg;
}

امتحان کنید

زمانی که کد بالا توسط کامپایلر زبان C++ اجرا شود، نتیجه زیر را تولید خواهد کرد:

Average value is: 214.400000

نوشته ارسال آرایه به عنوان آرگومان به تابع در زبان C++ – آموزش زبان C++ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.

درباره نویسنده: administrator

ممکن است دوست داشته باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *