সি স্ট্রিং

স্ট্রিং কী?

প্রোগ্রামিং এ মূলত অনেকগুলো এর সমষ্টি কে স্ট্রিং বলে । যেমন ধরোঃ একটি কিন্তু একটি স্ট্রিং ।  তুমি যদি অন্য কোনো প্রোগ্রামিং ভাষা ব্যবহার করে থাকো, তাহলে হয়তো String কে আলাদা একটি ডাটাটাইপ হিসেবে ব্যবহার করেছো । কিন্তু সি তে স্ট্রিং এর জন্য আলাদা কোনো ডাটাটাইপ নেই । মূলত এর অ্যারে কেই স্ট্রিং হিসেবে ব্যবহার করা হয় সি তে । 

স্ট্রিং তৈরি ও প্রিন্ট 

আগেই বলেছি, স্ট্রিং মূলত এর অ্যারে । তাই স্ট্রিং নিম্নোক্ত ভাবে তৈরি করা যায়ঃ

1char name[] = "Abdur Rahman";

আর স্ট্রিং কে আমরা ফাংশনে সরাসরি ফরম্যাট স্পেসিফায়ার ব্যবহার করে প্রিন্ট করতে পারিঃ

1printf("%s", name);

তাহলে পুরো কোডটি দাঁড়াচ্ছে এরকমঃ

1#include<stdio.h>
2
3int main(){
4    char name[] = "Abdur Rahman";
5    printf("%s", name);
6    return 0;
7}
8

তোমরা চাইলে এ স্ট্রিং টিকে একটি ক্যারেক্টার এর অ্যারে হিসেবে চিন্তা করে সেখানে লুপ খাটিয়েও প্রিন্ট করতে পারো । 

1#include<stdio.h>
2
3int main(){
4    char name[] = "Abdur Rahman";
5    int length = 12;
6    for(int i = 0; i < length; i++){
7        printf("%c", name[i]);
8    }
9    return 0;
10}
11

তবে, এখানে আমাদের ক্যারেক্টার এর অ্যারেটির দৈর্ঘ্য আলাদা করে বলে দিতে হয়েছে । কিন্তু আমরা যদি স্ট্রিংটির দৈর্ঘ্য বের করতে চাই, তাহলে সেটা কীভাবে করা যায়?

স্ট্রিং এর দৈর্ঘ্য নির্ণয়

স্ট্রিং এর দৈর্ঘ্য নির্ণয় করার জন্য আমরা কি করতে পারি? আসলে প্রতিটি c স্ট্রিং এর শেষে একটি নাল ক্যারেক্টার যোগ করা হয় । নাল ক্যারেক্টার হলো । তো আমরা যেটি করতে পারি, আমরা স্ট্রিং এর শুরু থেকে প্রতিটি ক্যারেক্টার ধরে ধরে আগাতে পারি এবং চেক করতে পারি যে সেটি নাল ক্যারেক্টার কি না । যদি নাল ক্যারেক্টার না হয় তাহলে আমরা আমাদের দৈর্ঘ্যের মান এক করে বাড়াবো এবং পরের ক্যারেক্টার চেক করবো । আর যদি নাল ক্যারেক্টার পেয়ে যাই তার মানে আমরা স্ট্রিং এর শেষে পৌছে গেছি, তাই স্ট্রিং এর প্রকৃত দৈর্ঘ্যও আমরা পেয়ে গেছি । 

1#include<stdio.h>
2
3int main(){
4    char name[] = "Abdur Rahman";
5    int length = 0;
6    int i = 0;
7    while(1){
8        if(name[i] != '\0'){
9            i = i+1;
10        }
11        else{
12            break;
13        }
14    }
15    printf("Length is: %d", i);
16    return 0;
17}
18

এতো ঝামেলা করতে না চাইলে আমরা থেকে ফাংশন ব্যবহার করতে পারি । 

1#include<stdio.h>
2#include<string.h>
3
4int main(){
5    char name[] = "Abdur Rahman";
6    int length = strlen(name);
7    printf("Length is: %d", length);
8    return 0;
9}
10

 

Logo

PyxLearn

Quick Links

আমাদের মেসেজ পাঠাতে চাও?