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

সি ভাষায় পয়েন্টার টু স্ট্রাকচার (Pointer to Structure) উদাহরণসহ

পয়েন্টার টু স্ট্রাকচার কী?

একটি স্ট্রাকচারের সম्पূর্ণ ঠিকানা ধারণ করে এমন পয়েন্টারকে পয়েন্টার টু স্ট্রাকচার বলা হয়। এটি লিংকড লিস্ট, ট্রি, গ্রাফের মতো জটিল ডেটা স্ট্রাকচার তৈরি করার জন্য অত্যন্ত গুরুত্বপূর্ণ।

ঘোষণা (Declaration)

struct tagname *ptr;

উদাহরণ: struct student *s;

মেম্বার এক্সেস: অ্যারো অপারেটর (->)

স্ট্রাকচার পয়েন্টারের মাধ্যমে মেম্বার এক্সেস করতে -> অপারেটর ব্যবহার করা হয়।

ptr->member_name;

উদাহরণ: s->sno, s->sname, s->marks

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

#include <stdio.h>

struct student {
    int sno;
    char sname[30];
    float marks;
};

int main() {
    struct student s;
    struct student *st;

    printf("Enter sno, sname, marks: ");
    scanf("%d %s %f", &s.sno, s.sname, &s.marks);

    st = &s; // s-এর ঠিকানা st-তে

    printf("\nStudent Details:\n");
    printf("Number = %d\n", st->sno);
    printf("Name   = %s\n", st->sname);
    printf("Marks  = %.2f\n", st->marks);

    return 0;
}

আউটপুট

Enter sno, sname, marks: 1 priya 34

Student Details:
Number = 1
Name   = priya
Marks  = 34.00

কেন পয়েন্টার টু স্ট্রাকচার ব্যবহার করবেন?

  • ফাংশনে স্ট্রাকচার পাস করার সময় কপি না করে ঠিকানা পাস করলে মেমরি বাঁচায়।
  • ডাইনামিক মেমরি অ্যালোকেশন (malloc) এর সাথে ব্যবহার করে রানটাইমে নোড তৈরি করা যায়।
  • লিংকড লিস্ট, ট্রি, গ্রাফ ইমপ্লিমেন্টেশনের মূল ভিত্তি।
  1. C ভাষায় বিভিন্ন পয়েন্টার অপারেশন এবং পয়েন্টার সমস্যা ব্যাখ্যা

  2. C ভাষায় ক্যারেক্টার অপারেশন ব্যাখ্যা

  3. সি ভাষায় ইউনিয়ন টু পয়েন্টার ব্যাখ্যা

  4. সি ভাষায় পয়েন্টার অ্যাক্সেসিং ধারণা ব্যাখ্যা