গঠন বিভিন্ন ডেটাটাইপ ভেরিয়েবলের একটি সংগ্রহ, একটি একক নামে একত্রে গোষ্ঠীবদ্ধ।
গঠনের বৈশিষ্ট্যগুলি
সি প্রোগ্রামিং ল্যাঙ্গুয়েজে গঠনের বৈশিষ্ট্যগুলি নিম্নরূপ -
-
একটি অ্যাসাইনমেন্ট অপারেটর ব্যবহার করে বিভিন্ন ডেটাটাইপের সমস্ত কাঠামোগত উপাদানগুলির বিষয়বস্তুকে এর ধরণের অন্য কাঠামোর ভেরিয়েবলে অনুলিপি করা সম্ভব৷
-
জটিল ডেটাটাইপগুলি পরিচালনা করার জন্য, অন্য কাঠামোর মধ্যে কাঠামো তৈরি করা ভাল, যাকে নেস্টেড স্ট্রাকচার বলা হয়।
-
একটি সম্পূর্ণ কাঠামো, কাঠামোর পৃথক উপাদান এবং কাঠামোর একটি ঠিকানা একটি ফাংশনে পাস করা সম্ভব।
-
স্ট্রাকচার পয়েন্টার তৈরি করা সম্ভব।
গঠনগুলির ঘোষণা এবং সূচনা।
গঠন ঘোষণার সাধারণ ফর্ম নিম্নরূপ -
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