স্ট্রাকচার মেম্বার এবং মেম্বার অ্যাক্সেস অপারেটর (ডট অপারেটর .) সি প্রোগ্রামিং ভাষায় স্ট্রাকচারের গুরুত্বপূর্ণ বৈশিষ্ট্য। স্ট্রাকচারে বিভিন্ন ধরনের ডেটা একত্রে সংরক্ষণ করা যায় এবং মেম্বার অ্যাক্সেস অপারেটর (.) ব্যবহার করে স্ট্রাকচারের প্রতিটি সদস্যের মান অ্যাক্সেস করা যায়।
স্ট্রাকচার মেম্বার
স্ট্রাকচারের প্রতিটি ভ্যারিয়েবল বা উপাদানকে মেম্বার বলা হয়। প্রতিটি মেম্বার ভিন্ন ভিন্ন ডেটা টাইপের হতে পারে এবং স্ট্রাকচারের মধ্যে ডিক্লেয়ার করা হয়। উদাহরণস্বরূপ, একটি Person স্ট্রাকচারে name, age, এবং salary মেম্বার থাকতে পারে।
উদাহরণ: স্ট্রাকচার মেম্বার ডিক্লেয়ারেশন
struct Person {
char name[50];
int age;
float salary;
};
এখানে Person স্ট্রাকচারের তিনটি মেম্বার রয়েছে:
name:charটাইপের একটি অ্যারে, যা নাম সংরক্ষণ করে।age:intটাইপের মেম্বার, যা বয়স সংরক্ষণ করে।salary:floatটাইপের মেম্বার, যা বেতন সংরক্ষণ করে।
মেম্বার অ্যাক্সেস অপারেটর (.)
ডট অপারেটর (.) ব্যবহার করে স্ট্রাকচারের প্রতিটি মেম্বার অ্যাক্সেস করা যায়। স্ট্রাকচারের ভ্যারিয়েবল দিয়ে . অপারেটর ব্যবহার করে নির্দিষ্ট মেম্বার নির্বাচন করা হয়।
সাধারণ গঠন:
structure_variable.member_name;
উদাহরণ: মেম্বার অ্যাক্সেস অপারেটর (.) ব্যবহার
ধরা যাক, আমরা একটি Person স্ট্রাকচার তৈরি করব এবং ডট অপারেটরের মাধ্যমে এর প্রতিটি মেম্বারে প্রবেশ করব।
#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 = 55000.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: 55000.50
ব্যাখ্যা
- এখানে
person1হলোPersonস্ট্রাকচারের একটি ভ্যারিয়েবল। person1.name,person1.age, এবংperson1.salaryব্যবহার করেperson1এর প্রতিটি মেম্বার অ্যাক্সেস করা হয়েছে।.অপারেটরের মাধ্যমে প্রতিটি মেম্বারে প্রবেশ করে তাদের মান অ্যাসাইন করা হয়েছে এবং আউটপুটে দেখানো হয়েছে।
স্ট্রাকচারের মেম্বার অ্যাক্সেসের আরও উদাহরণ
উদাহরণ: একাধিক স্ট্রাকচার ভ্যারিয়েবল এবং মেম্বার অ্যাক্সেস
#include <stdio.h>
#include <string.h>
struct Student {
int roll;
char name[50];
float marks;
};
int main() {
struct Student student1, student2;
// student1 এর মেম্বারগুলিতে মান অ্যাসাইন করা
student1.roll = 1;
strcpy(student1.name, "John");
student1.marks = 85.5;
// student2 এর মেম্বারগুলিতে মান অ্যাসাইন করা
student2.roll = 2;
strcpy(student2.name, "Jane");
student2.marks = 90.0;
// আউটপুটে student1 এর তথ্য প্রদর্শন
printf("Student 1 Roll: %d\n", student1.roll);
printf("Student 1 Name: %s\n", student1.name);
printf("Student 1 Marks: %.2f\n", student1.marks);
// আউটপুটে student2 এর তথ্য প্রদর্শন
printf("Student 2 Roll: %d\n", student2.roll);
printf("Student 2 Name: %s\n", student2.name);
printf("Student 2 Marks: %.2f\n", student2.marks);
return 0;
}
আউটপুট:
Student 1 Roll: 1
Student 1 Name: John
Student 1 Marks: 85.50
Student 2 Roll: 2
Student 2 Name: Jane
Student 2 Marks: 90.00
সংক্ষেপে
- স্ট্রাকচার মেম্বার: স্ট্রাকচারের মধ্যে থাকা বিভিন্ন ভ্যারিয়েবল বা উপাদান, যেমন নাম, বয়স, মার্কস ইত্যাদি।
- মেম্বার অ্যাক্সেস অপারেটর (
.): ডট অপারেটর ব্যবহার করে স্ট্রাকচারের ভ্যারিয়েবলের প্রতিটি মেম্বার অ্যাক্সেস করা হয়।
এই বৈশিষ্ট্যের মাধ্যমে প্রোগ্রামে বিভিন্ন ধরনের ডেটা একসঙ্গে ম্যানেজ ও ম্যানিপুলেট করা সহজ হয় এবং এটি প্রোগ্রামিংকে আরও সুশৃঙ্খল করে তোলে।
Read more