কম্পিউটার

সি ভাষায় কাঠামোর পয়েন্টার কি?


পয়েন্টার টু স্ট্রাকচার পুরো কাঠামোর যোগ ধারণ করে।

এটি জটিল ডেটা স্ট্রাকচার তৈরি করতে ব্যবহৃত হয় যেমন লিঙ্ক করা তালিকা, গাছ, গ্রাফ ইত্যাদি।

তীর অপারেটর ( ->) নামে একটি বিশেষ অপারেটর ব্যবহার করে কাঠামোর সদস্যদের অ্যাক্সেস করা যেতে পারে।

ঘোষণা

সি প্রোগ্রামিং -

-এ স্ট্রাকচারের পয়েন্টারগুলির জন্য নিম্নোক্ত ঘোষণা
struct tagname *ptr;

যেমন − struct student *s −

অ্যাক্সেস করা হচ্ছে

এটি নীচে ব্যাখ্যা করা হয়েছে কিভাবে স্ট্রাকচারে পয়েন্টার অ্যাক্সেস করতে হয়।

Ptr-> membername;

যেমন − s->sno, s->sname, s->চিহ্ন;

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

নিম্নলিখিত প্রোগ্রামটি কাঠামোর জন্য নির্দেশকের ব্যবহার দেখায় −

#include<stdio.h>
struct student{
   int sno;
   char sname[30];
   float marks;
};
main ( ){
   struct student s;
   struct student *st;
   printf("enter sno, sname, marks:");
   scanf ("%d%s%f", & s.sno, s.sname, &s. marks);
   st = &s;
   printf ("details of the student are");
   printf ("Number = %d\n", st ->sno);
   printf ("name = %s\n", st->sname);
   printf ("marks =%f\n", st ->marks);
   getch ( );
}

আউটপুট

আসুন আমরা উপরের প্রোগ্রামটি চালাই যা নিম্নলিখিত ফলাফল তৈরি করবে -

enter sno, sname, marks:1 Lucky 98
details of the student are:
Number = 1
name = Lucky
marks =98.000000

উদাহরণ 2

আরেকটি উদাহরণ বিবেচনা করুন যা কাঠামোতে পয়েন্টারগুলির কার্যকারিতা ব্যাখ্যা করে।

#include<stdio.h>
struct person{
   int age;
   float weight;
};
int main(){
   struct person *personPtr, person1;
   personPtr = &person1;
   printf("Enter age: ");
   scanf("%d", &personPtr->age);
   printf("Enter weight: ");
   scanf("%f", &personPtr->weight);
   printf("Displaying:\n");
   printf("Age: %d\n", personPtr->age);
   printf("weight: %f", personPtr->weight);
   return 0;
}

আউটপুট

আসুন আমরা উপরের প্রোগ্রামটি চালাই যা নিম্নলিখিত ফলাফল তৈরি করবে -

Enter age: 45
Enter weight: 60
Displaying:
Age: 45
weight: 60.000000

  1. সি ভাষায় সারিতে সন্নিবেশ করা উপাদানগুলি কী কী?

  2. বিভিন্ন পয়েন্টার অপারেশন এবং সি ল্যাঙ্গুয়েজে পয়েন্টার নিয়ে সমস্যা কি?

  3. সি ভাষায় শিফট অপারেশন কি কি?

  4. সি ল্যাঙ্গুয়েজে প্রাথমিক ডাটা টাইপ কি কি?