সি প্রোগ্রামিং ভাষায় স্ট্রিং অ্যারে এবং char ডেটা টাইপ ব্যবহার করে টেক্সট বা শব্দ সংরক্ষণ ও প্রক্রিয়াকরণ করা যায়। স্ট্রিং আসলে এক ধরনের অ্যারে যা ক্যারেক্টারগুলোর ক্রম বা char অ্যারে হিসেবে কাজ করে।
char ডেটা টাইপ
char ডেটা টাইপ সি ভাষায় একক ক্যারেক্টার সংরক্ষণ করতে ব্যবহৃত হয়। এটি একটি ১-বাইট (৮-বিট) মেমোরি স্থান দখল করে এবং ASCII (0-255) কোডে ক্যারেক্টার সংরক্ষণ করে।
উদাহরণ: char ডেটা টাইপ ব্যবহার
#include <stdio.h>
int main() {
char letter = 'A';
printf("The letter is: %c\n", letter);
return 0;
}
আউটপুট:
The letter is: A
স্ট্রিং অ্যারে
স্ট্রিং হল একগুচ্ছ ক্যারেক্টারের ক্রম বা char ডেটা টাইপের অ্যারে, যা সাধারণত null ক্যারেক্টার (\0) দ্বারা শেষ হয়। স্ট্রিংয়ের জন্য সি ভাষায় char অ্যারে ব্যবহৃত হয়, যেখানে প্রতিটি ইনডেক্সে একটি করে ক্যারেক্টার থাকে।
স্ট্রিং অ্যারে ইনিশিয়ালাইজেশন
char name[6] = "Alice"; // null character (\0) স্বয়ংক্রিয়ভাবে যুক্ত হয়
এখানে name অ্যারে A, l, i, c, e, এবং \0 ক্যারেক্টার ধারণ করে, মোট ৬টি স্পেস দখল করে।
স্ট্রিং অ্যারে ইনিশিয়ালাইজেশন (শব্দ অনুযায়ী)
char name[] = "Alice"; // অ্যারের আকার উল্লেখ না করলেও চলে
স্ট্রিং ইনপুট ও আউটপুট
scanf এবং printf ব্যবহার করে স্ট্রিং ইনপুট এবং আউটপুট নেওয়া যায়।
#include <stdio.h>
int main() {
char name[20];
printf("Enter your name: ");
scanf("%s", name); // স্পেস ছাড়া ইনপুট নেয়
printf("Hello, %s!\n", name);
return 0;
}
আউটপুট:
Enter your name: Alice
Hello, Alice!
বিঃ দ্রঃ
scanfফাংশন স্পেসের পর স্ট্রিং ইনপুট নেওয়া বন্ধ করে, অর্থাৎ শুধু একটি শব্দই ইনপুট নিতে পারে। পুরো বাক্য ইনপুট নিলেgets()বাfgets()ব্যবহার করতে হবে।
স্ট্রিং অ্যারের মাধ্যমে ডেটা অ্যাক্সেস
স্ট্রিং অ্যারেতে প্রতিটি ক্যারেক্টারের জন্য একটি ইনডেক্স থাকে, যার মাধ্যমে নির্দিষ্ট ক্যারেক্টারে প্রবেশ করা যায়।
#include <stdio.h>
int main() {
char name[] = "Alice";
// প্রতিটি ক্যারেক্টার অ্যাক্সেস করে প্রিন্ট করা
for (int i = 0; name[i] != '\0'; i++) {
printf("Character at index %d: %c\n", i, name[i]);
}
return 0;
}
আউটপুট:
Character at index 0: A
Character at index 1: l
Character at index 2: i
Character at index 3: c
Character at index 4: e
স্ট্রিং অ্যারে (মাল্টিপল স্ট্রিং সংরক্ষণ করা)
একাধিক স্ট্রিং একত্রে সংরক্ষণের জন্য ২-মাত্রিক char অ্যারে ব্যবহার করা যায়।
#include <stdio.h>
int main() {
char names[3][10] = {"Alice", "Bob", "Charlie"};
for (int i = 0; i < 3; i++) {
printf("Name %d: %s\n", i + 1, names[i]);
}
return 0;
}
আউটপুট:
Name 1: Alice
Name 2: Bob
Name 3: Charlie
স্ট্রিং সম্পর্কিত কিছু গুরুত্বপূর্ণ ফাংশন
সি ভাষায় string.h লাইব্রেরিতে স্ট্রিং প্রক্রিয়াকরণের জন্য অনেক ফাংশন রয়েছে, যেমন:
strlen(): স্ট্রিংয়ের দৈর্ঘ্য নির্ধারণ করে।strcpy(): একটি স্ট্রিং কপি করে অন্য স্ট্রিংয়ে।strcat(): দুটি স্ট্রিং যোগ করে।strcmp(): দুটি স্ট্রিং তুলনা করে।
উদাহরণ: strlen, strcpy, strcat এবং strcmp ফাংশন
#include <stdio.h>
#include <string.h>
int main() {
char str1[20] = "Hello";
char str2[20] = "World";
// strlen
printf("Length of str1: %lu\n", strlen(str1));
// strcpy
strcpy(str2, str1);
printf("After strcpy, str2: %s\n", str2);
// strcat
strcat(str1, " World");
printf("After strcat, str1: %s\n", str1);
// strcmp
if (strcmp(str1, str2) == 0) {
printf("str1 and str2 are equal.\n");
} else {
printf("str1 and str2 are not equal.\n");
}
return 0;
}
আউটপুট:
Length of str1: 5
After strcpy, str2: Hello
After strcat, str1: Hello World
str1 and str2 are not equal.
সংক্ষেপে:
charডেটা টাইপ একক ক্যারেক্টার সংরক্ষণ করে।- স্ট্রিং অ্যারে হলো একাধিক ক্যারেক্টারের ক্রম বা
charঅ্যারে। string.hলাইব্রেরির সাহায্যে স্ট্রিং পরিচালনা করা আরও সহজ হয়।
Read more