গঠন বিভিন্ন ডেটাটাইপ ভেরিয়েবলের একটি সংগ্রহ, একটি একক নামে একত্রে গোষ্ঠীবদ্ধ।
গঠনের বৈশিষ্ট্যগুলি
সি প্রোগ্রামিং ল্যাঙ্গুয়েজে গঠনের বৈশিষ্ট্যগুলি নিম্নরূপ -
-
একটি অ্যাসাইনমেন্ট অপারেটর ব্যবহার করে বিভিন্ন ডেটাটাইপের সমস্ত কাঠামোগত উপাদানগুলির বিষয়বস্তুকে এর ধরণের অন্য কাঠামোর ভেরিয়েবলে অনুলিপি করা সম্ভব৷
-
জটিল ডেটাটাইপগুলি পরিচালনা করার জন্য, অন্য কাঠামোর মধ্যে কাঠামো তৈরি করা ভাল, যাকে নেস্টেড স্ট্রাকচার বলা হয়।
-
একটি সম্পূর্ণ কাঠামো, কাঠামোর পৃথক উপাদান এবং কাঠামোর একটি ঠিকানা একটি ফাংশনে পাস করা সম্ভব।
-
স্ট্রাকচার পয়েন্টার তৈরি করা সম্ভব।
গঠনগুলির ঘোষণা এবং সূচনা।
গঠন ঘোষণার সাধারণ ফর্ম নিম্নরূপ -
datatype member1; struct tagname{ datatype member2; datatype member n; };
এখানে,
- গঠন হল কীওয়ার্ড৷ ৷
- ট্যাগনাম গঠনের নাম উল্লেখ করে।
- সদস্য1, সদস্য2 ডেটা আইটেম।
উদাহরণস্বরূপ,
struct book{ int pages; char author [30]; float price; };
প্রোগ্রাম
নিচের সি প্রোগ্রাম স্ট্রাকচার ব্যবহার করে একটি বর্ণানুক্রমিক ক্রমে নাম সাজানোর জন্য −
#include<stdio.h> #include<string.h> struct tag{ char name[10]; int rno; }; typedef struct tag node; node s[5]; sort(int no){ int i,j; node temp; for(i=0;i<no-1;i++) for(j=i+1;j<no;j++) if(strcmp(s[i].name,s[j].name)>0){ temp=s[i]; s[i]=s[j]; s[j]=temp; } } void main(){ int no,i; fflush(stdin); printf("Enter The Number Of Students:"); scanf("%d",&no); for(i=0;i<no;i++){ printf("Enter The Name:"); fflush(stdin); gets(s[i].name); printf("Enter the Roll:"); scanf("%d",&s[i].rno); } sort(no); for(i=0;i<no;i++){ printf("%s\t",s[i].name); printf("%d\n",s[i].rno); } }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Enter The Number of Students:5 Enter The Name:Priya Enter the Roll:3 Enter The Name:Hari Enter the Roll:5 Enter The Name:Pinky Enter the Roll:7 Enter The Name:Lucky Enter the Roll:1 Enter The Name:Krishna Enter the Roll:2 Hari 5 Krishna 2 Lucky 1 Pinky 7 Priya 3