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

সি ভাষায় ভেরিয়েবল আর্গুমেন্টের সংখ্যা গণনা (Count Variable Arguments)

এই সেকশনে দেখব সি-তে ভেরিয়েবল নম্বর অফ আর্গুমেন্টস (Variable Number of Arguments) এর ক্ষেত্রে আর্গুমেন্টের সংখ্যা কীভাবে গণনা করতে হয়।

সি ellipsis (...) সাপোর্ট করে। এটি একটি ফাংশনে ভেরিয়েবল সংখ্যক আর্গুমেন্ট নেওয়ার জন্য ব্যবহৃত হয়। ইউজার তিনটি উপায়ে আর্গুমেন্ট কাউন্ট করতে পারে:

  • প্রথম আর্গুমেন্ট হিসেবে প্যারামিটারের কাউন্ট পাস করে।
  • শেষ আর্গুমেন্ট হিসেবে NULL পাস করে।
  • printf() বা scanf()-এর মতো লজিক ব্যবহার করে যেখানে প্রথম আর্গুমেন্টে অন্য আর্গুমেন্টের প্লেসহোল্ডার থাকে।

নিচের প্রোগ্রামে ভেরিয়েবল আর্গুমেন্টের মোট সংখ্যা প্রিন্ট করা হয়েছে।

উদাহরণ কোড

#include <stdio.h>
#include <stdarg.h>
int get_avg(int count, ...) {
    va_list ap;
    int i;
    int sum = 0;
    va_start(ap, count); // আর্গুমেন্ট অ্যাক্সেস করার আগে va_start
    for (i = 0; i < count; i++) {
        sum += va_arg(ap, int);
    }
    va_end(ap); // আর্গুমেন্ট অ্যাক্সেস শেষে va_end
    return sum;
}
int main() {
    printf("Total variable count is: %f", get_avg(5, 8, 5, 3, 4, 6));
}

আউটপুট

Total variable count is: 5

নোট: উদাহরণে ফাংশন নাম get_avg কিন্তু এটি যোগফল রিটার্ন করছে, কাউন্ট নয়। প্রথম আর্গুমেন্ট count=5 হলে ৫টি আর্গুমেন্ট প্রসেস হয়। প্রিন্টফ-এ %f ফরম্যাট স্পেসিফায়ার ব্যবহার করা হয়েছে কিন্তু ফাংশন int রিটার্ন করে, এটিও একটি বাগ।

  1. মাইক্রোসফট ওয়ার্ডে ওয়ার্ড কাউন্ট দেখার পদ্ধতি

  2. Android SQLite-এ COUNT() ফাংশন ব্যবহার করার পদ্ধতি

  3. C#-তে ভেরিয়েবল ইনিশিয়ালাইজেশন (Variable Initialization)

  4. পাইথনে সংখ্যা তুলনা করার রিলেশনাল অপারেটর গাইড