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

সি ভাষায় স্ট্রাকচারের ঠিকানা ফাংশন আর্গুমেন্ট হিসেবে পাস করা

স্ট্রাকচারের ঠিকানা আর্গুমেন্ট হিসেবে পাস করা (Call by Reference)

স্ট্রাকচার ভেরিয়েবলের ঠিকানা (&struct_var) ফাংশনে পাস করলে ফাংশনটি মূল স্ট্রাকচারটি সরাসরি এক্সেস ও মডিফাই করতে পারে।

সুবিধা

  • মেমরি বাঁচায় — কপি তৈরি হয় না।
  • রিটার্ন মান দরকার নেই — ফাংশন আসল ডেটা পরিবর্তন করতে পারে।
  • বড় স্ট্রাকচারের জন্য দক্ষ।

সিনট্যাক্স

// কলিং
display(&my_struct);

// ফাংশন ডেফিনিশন
void display(struct tagname *ptr) {
    // ptr->member ব্যবহার করুন
}

উদাহরণ প্রোগ্রাম

#include <stdio.h>

struct date {
    int day;
    int mon;
    int yr;
};

void display(struct date *dt);

int main() {
    struct date d = {02, 01, 2010};
    display(&d); // ঠিকানা পাস
    return 0;
}

void display(struct date *dt) {
    printf("Day   = %d\n", dt->day);
    printf("Month = %d\n", dt->mon);
    printf("Year  = %d\n", dt->yr);
}

আউটপুট

Day   = 2
Month = 1
Year  = 2010

নোট

  • ফাংশন প্রোটোটাইপে পয়েন্টার টাইপ ঘোষণা করতে হয়।
  • ফাংশন বডিতে -> অপারেটর দিয়ে মেম্বার এক্সেস করুন।
  • এই পদ্ধতিটি Call by Reference এর উদাহরণ।
  1. এক্সেলে IF ফাংশন ব্যবহার করার পদ্ধতি

  2. এক্সেলে PI ফাংশন ব্যবহারের পদ্ধতি

  3. Tkinter-এ ইভেন্ট হ্যান্ডলারে আর্গুমেন্ট পাস করা

  4. আপনার উইন্ডোজ ১১ PC-এর IP অ্যাড্রেস খুঁজে বের করুন: ধাপে ধাপে গাইড