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

C ভাষায় স্ট্রাকচারের পয়েন্টার কী?


স্ট্রাকচারের পয়েন্টার পুরো স্ট্রাকচারের অ্যাড্রেস ধারণ করে।

এটি লিংকড লিস্ট, ট্রি, গ্রাফ সadrat জটিল ডেটা স্ট্রাকচার তৈরি করতে ব্যবহৃত হয়।

স্ট্রাকচারের মেম্বারগুলিকে অ্যারো অপারেটর (->) নামে একটি বিশেষ অপারেটর ব্যবহার করে অ্যাক্সেস করা যায়।

ঘোষণা

C প্রোগ্রামিং-এ স্ট্রাকচারের পয়েন্টারগুলোর জন্য ঘোষণাটি নিচে দেওয়া হলো −

struct tagname *ptr;

উদাহরণস্বরূপ − struct student *s −

অ্যাক্সেস করা

স্ট্রাকচারের পয়েন্টারগুলিকে কিভাবে অ্যাক্সেস করতে হয় সেটি নিচে ব্যাখ্যা করা হলো।

Ptr->membername;

উদাহরণস্বরূপ − s->sno, s->sname, s->marks;

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

নিচের প্রোগ্রামটি স্ট্রাকচারের পয়েন্টার ব্যবহারের 모습을 보여준다 −

#include  struct student{ int sno; char sname[30]; float marks; }; main ( ){ struct student s; struct student *st; printf("sno, sname, marks লিখুন: "); scanf("%d%s%f", &s.sno, s.sname, &s.marks); st = &s; printf("ছাত্রের বিবরণ"); printf("Number = %d\n", st->sno); printf("name = %s\n", st->sname); printf("marks =%f\n", st->marks); getch(); }

আউটপুট

উপরোক্ত প্রোগ্রামটি চালালে নিচের ফলাফল পাওয়া যায় −

sno, sname, marks লিখুন: 1 Lucky 98 ছাত্রের বিবরণ: Number = 1 name = Lucky marks = 98.000000

উদাহরণ ২

স্ট্রাকচারের পয়েন্টারের কাজকর্ম ব্যাখ্যা করে আরেকটি উদাহরণ বিবেচনা করুন।

#include  struct person{ int age; float weight; }; int main(){ struct person *personPtr, person1; personPtr = &person1; printf("বয়স লিখুন: "); scanf("%d", &personPtr->age); printf("ওজন লিখুন: "); scanf("%f", &personPtr->weight); printf("প্রদর্শন:\n"); printf("Age: %d\n", personPtr->age); printf("weight: %f", personPtr->weight); return 0; }

আউটপুট

উপরোক্ত প্রোগ্রামটি চালালে নিচের ফলাফল পাওয়া যায় −

বয়স লিখুন: 45 ওজন লিখুন: 60 প্রদর্শন: Age: 45 weight: 60.000000

  1. C ভাষায় কিউ (Queue) তে এলিমেন্ট ইনসার্ট করার পদ্ধতি

  2. C ভাষায় বিভিন্ন পয়েন্টার অপারেশন এবং পয়েন্টার সমস্যা ব্যাখ্যা

  3. সি ভাষায় শিফট অপারেশন (লেফট, রাইট শিফট এবং কমপ্লিমেন্ট)

  4. সি ভাষায় প্রাইমারি ডেটা টাইপ (Primary Data Types) কী?