কম্পিউটার টিউটোরিয়াল

C++-এ ফাংশনে অ্যারে পাস করা: পয়েন্টার ও রেফারেন্স

C++-এ পুরো অ্যারে ফাংশনে আর্গুমেন্ট হিসেবে পাস করা যায় না। তবে অ্যারের নাম (যা প্রথম উপাদানের ঠিকানা) দিয়ে পয়েন্টার পাস করা যায়। ফাংশন প্যারামিটার তিনভাবে ঘোষণা করা যায় — সবই একই রেজাল্ট দেয় কারণ কম্পাইলারকে বোঝায় যে একটি ইন্টিজার পয়েন্টার আসবে।

তিনটি পদ্ধতি:

পদ্ধতি ১: পয়েন্টার হিসেবে

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

পদ্ধতি ২: সাইজড অ্যারে হিসেবে

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

পদ্ধতি ৩: আনসাইজড অ্যারে হিসেবে

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

সব কেসে কম্পাইলার এটিকে int* param হিসেবে ট্রিট করে।

ব্যবহারিক উদাহরণ: অ্যারের গড় বের করা

#include <iostream>
using namespace std;

// ফাংশন ডিক্লেয়ারেশন
double getAverage(int arr[], int size);

int main() {
    // ৫ উপাদানpeł অ্যারে
    int balance[5] = {1000, 2, 3, 17, 50};
    double avg;

    // অ্যারের পয়েন্টার পাস করা
    avg = getAverage(balance, 5);

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

আউটপুট

Average value is: 214.4

গুরুত্বপূর্ণ নোট: ফাংশনের মধ্যে অ্যারের আকার জানার উপায় নেই (পয়েন্টার ডিকে)। তাই আকার আলাদা প্যারামিটার হিসেবে পাস করতে হয়। C++ বাউন্ড চেকিং করে না, তাই প্রোগ্রামারের দায়িত্ব সঠিক আকার পাস করা। আধুনিক C++-এ std::array, std::vector বা std::span (C++20) ব্যবহার করা উচিত।

  1. সি/সি++-তে মাল্টিডাইমেনশনাল অ্যারে (Multidimensional Arrays)

  2. C++-এ দুই মাত্রিক অ্যারে (2D Array) ফাংশনে পাস করা

  3. C++-এ অ্যারে ফাংশনে পাস করা (Passing Array to Function)

  4. C++-এ অ্যারে (Array) ব্যবহার করার পদ্ধতি