স্ট্রাকচার সি প্রোগ্রামিং ভাষায় একটি কাস্টম ডেটা টাইপ, যা বিভিন্ন ধরনের ডেটা একসঙ্গে সংরক্ষণ করতে সাহায্য করে। স্ট্রাকচার ব্যবহার করে একাধিক ভিন্ন ধরনের ভ্যারিয়েবল (যেমন int, float, char ইত্যাদি) একত্রে রাখা যায়। এটি ডেটা ম্যানেজমেন্টকে সহজ করে এবং একাধিক বৈশিষ্ট্যবিশিষ্ট ডেটা গঠন তৈরি করতে সাহায্য করে।
স্ট্রাকচার কীভাবে কাজ করে?
স্ট্রাকচার একটি কন্টেইনার হিসেবে কাজ করে যেখানে বিভিন্ন ধরনের ডেটা একত্রে সংরক্ষণ করা যায়। প্রতিটি ডেটাকে মেম্বার বা সদস্য বলা হয় এবং প্রতিটি সদস্যের জন্য আলাদা আলাদা মেমোরি বরাদ্দ হয়।
স্ট্রাকচার ডিক্লেয়ারেশন
স্ট্রাকচার ঘোষণা করার জন্য struct কীওয়ার্ড ব্যবহার করা হয়।
গঠন:
struct StructureName {
data_type member1;
data_type member2;
...
};
উদাহরণ: একটি ব্যক্তির তথ্য সংরক্ষণে স্ট্রাকচার
#include <stdio.h>
#include <string.h>
// স্ট্রাকচার ডিক্লেয়ারেশন
struct Person {
char name[50];
int age;
float salary;
};
int main() {
struct Person person1; // স্ট্রাকচার ভ্যারিয়েবল ডিক্লেয়ার করা
// স্ট্রাকচারের সদস্যদের মান অ্যাসাইন করা
strcpy(person1.name, "Alice");
person1.age = 30;
person1.salary = 75000.50;
// আউটপুট করা
printf("Name: %s\n", person1.name);
printf("Age: %d\n", person1.age);
printf("Salary: %.2f\n", person1.salary);
return 0;
}
আউটপুট:
Name: Alice
Age: 30
Salary: 75000.50
স্ট্রাকচারের ব্যবহার
১. ডেটা ম্যানেজমেন্ট: বিভিন্ন ধরনের ডেটা একসাথে রাখতে সাহায্য করে, যেমন নাম, বয়স, ঠিকানা, মোবাইল নম্বর ইত্যাদি। ২. ডেটাবেজ তৈরি করা: ডেটাবেজ অ্যাপ্লিকেশন বা ব্যবস্থাপনার জন্য স্ট্রাকচার ব্যবহৃত হয়। ৩. কমপ্লেক্স ডেটা স্ট্রাকচার তৈরি: লিংকড লিস্ট, স্ট্যাক, এবং কিউ-এর মতো ডেটা স্ট্রাকচার তৈরি করতে সাহায্য করে। ৪. কোড পাঠযোগ্যতা: কোড সংক্ষিপ্ত ও পরিষ্কার রাখতে কার্যকর।
স্ট্রাকচার ব্যবহার করে একাধিক ডেটা সংরক্ষণ
স্ট্রাকচারের মাধ্যমে আমরা একাধিক ভ্যারিয়েবল একই গঠন ব্যবহার করে সংরক্ষণ করতে পারি।
উদাহরণ: একাধিক ব্যক্তির তথ্য সংরক্ষণ
#include <stdio.h>
#include <string.h>
struct Person {
char name[50];
int age;
float salary;
};
int main() {
struct Person person1, person2;
// person1 এর তথ্য
strcpy(person1.name, "Alice");
person1.age = 30;
person1.salary = 50000.50;
// person2 এর তথ্য
strcpy(person2.name, "Bob");
person2.age = 25;
person2.salary = 45000.75;
// আউটপুট
printf("Person 1: %s, Age: %d, Salary: %.2f\n", person1.name, person1.age, person1.salary);
printf("Person 2: %s, Age: %d, Salary: %.2f\n", person2.name, person2.age, person2.salary);
return 0;
}
আউটপুট:
Person 1: Alice, Age: 30, Salary: 50000.50
Person 2: Bob, Age: 25, Salary: 45000.75
স্ট্রাকচারের অ্যারে ব্যবহার
স্ট্রাকচারের অ্যারে ব্যবহার করে সহজেই একাধিক ডেটা সংরক্ষণ ও পরিচালনা করা যায়।
উদাহরণ: স্ট্রাকচারের অ্যারে ব্যবহার করে একাধিক ছাত্রের তথ্য সংরক্ষণ
#include <stdio.h>
#include <string.h>
struct Student {
char name[50];
int roll;
float marks;
};
int main() {
struct Student students[3]; // ৩ জন ছাত্রের জন্য স্ট্রাকচারের অ্যারে
// প্রতিটি ছাত্রের তথ্য প্রবেশ
for (int i = 0; i < 3; i++) {
printf("Enter name, roll, and marks for student %d:\n", i + 1);
scanf("%s", students[i].name);
scanf("%d", &students[i].roll);
scanf("%f", &students[i].marks);
}
// তথ্য আউটপুট করা
printf("\nStudent Information:\n");
for (int i = 0; i < 3; i++) {
printf("Name: %s, Roll: %d, Marks: %.2f\n", students[i].name, students[i].roll, students[i].marks);
}
return 0;
}
উদাহরণিক ইনপুট:
Enter name, roll, and marks for student 1:
Alice 101 85.5
Enter name, roll, and marks for student 2:
Bob 102 90.0
Enter name, roll, and marks for student 3:
Charlie 103 92.5
আউটপুট:
Student Information:
Name: Alice, Roll: 101, Marks: 85.50
Name: Bob, Roll: 102, Marks: 90.00
Name: Charlie, Roll: 103, Marks: 92.50
স্ট্রাকচারের সংক্ষেপে গঠন এবং ব্যবহারের সুবিধা
- মেম্বার ভ্যারিয়েবল: একাধিক ভ্যারিয়েবল একত্রিত করে একটি কাঠামোতে সংরক্ষণ করা।
- কাস্টম ডেটা টাইপ: বিভিন্ন ডেটার জন্য একটি কাস্টম ডেটা টাইপ তৈরি করা যায়।
- সহজ ডেটা ম্যানেজমেন্ট: বড় ডেটাসেট সহজেই পরিচালনা ও সংগঠিত করা যায়।
- কোড পাঠযোগ্যতা: প্রোগ্রামিংয়ে সহজতর এবং পরিচ্ছন্ন কোডিং সম্ভব।
সংক্ষেপে: স্ট্রাকচার প্রোগ্রামিংয়ে একাধিক ভিন্ন ধরনের ডেটাকে একত্রিত করে একটি কাস্টম ডেটা টাইপ তৈরির সুবিধা দেয়, যা ডেটা ম্যানেজমেন্টকে আরও সহজ এবং কার্যকর করে।
Read more