কম্পিউটার

C++ এ ফাংশনে অ্যারে পাস করা


C++ একটি ফাংশনে আর্গুমেন্ট হিসেবে একটি সম্পূর্ণ অ্যারে পাস করার অনুমতি দেয় না। যাইহোক, আপনি সূচী ছাড়াই অ্যারের নাম উল্লেখ করে একটি অ্যারেতে একটি পয়েন্টার পাঠাতে পারেন।

আপনি যদি একটি ফাংশনে একটি আর্গুমেন্ট হিসাবে একটি একক-মাত্রা অ্যারে পাস করতে চান তবে আপনাকে নিম্নলিখিত তিনটি উপায়ের মধ্যে একটিতে ফাংশন ফর্মাল প্যারামিটার ঘোষণা করতে হবে এবং তিনটি ঘোষণা পদ্ধতি একই রকম ফলাফল দেয় কারণ প্রতিটি কম্পাইলারকে বলে যে একটি পূর্ণসংখ্যা পয়েন্টার যাচ্ছে গ্রহণ করতে হবে।

পদ্ধতি-1

নির্দেশক হিসাবে ফর্মাল প্যারামিটারগুলি নিম্নরূপ −

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

পদ্ধতি-2

ফর্মাল প্যারামিটারগুলি একটি আকারের অ্যারে হিসাবে নিম্নরূপ −

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

পদ্ধতি-3

ফর্মাল প্যারামিটারগুলি একটি আকারবিহীন অ্যারে হিসাবে নিম্নরূপ −

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;
}

যখন উপরের কোডটি একসাথে কম্পাইল করা হয় এবং এক্সিকিউট করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

Average value is: 214.4

আপনি দেখতে পাচ্ছেন যে, অ্যারের দৈর্ঘ্য যতদূর পর্যন্ত ফাংশনটি উদ্বিগ্ন তা কোন ব্যাপার না কারণ C++ আনুষ্ঠানিক পরামিতিগুলির জন্য কোন সীমানা পরীক্ষা করে না।


  1. C/C++ এ বহুমাত্রিক অ্যারে

  2. একটি C++ ফাংশনে দ্বিমাত্রিক অ্যারে পাস করা

  3. একটি C++ ফাংশনে একটি অ্যারে পাস করা

  4. আমি কিভাবে C++ এ অ্যারে ব্যবহার করব?