অক্ষরের একটি বিন্যাসকে স্ট্রিং বলা হয়।
ঘোষণা
একটি অ্যারে ঘোষণা করার জন্য সিনট্যাক্স নিম্নরূপ -
char stringname [size];
যেমন − char স্ট্রিং[50]; দৈর্ঘ্য 50 অক্ষরের স্ট্রিং
শুরু করা
- একক অক্ষর ধ্রুবক ব্যবহার করা -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
- স্ট্রিং ধ্রুবক ব্যবহার করা -
char string[10] = "Hello":;
অ্যাক্সেস করা হচ্ছে − একটি কন্ট্রোল স্ট্রিং "%s" ব্যবহার করা হয় যতক্ষণ না স্ট্রিংটি '\0' এর মুখোমুখি হয়।
এখন, সি প্রোগ্রামিং ল্যাঙ্গুয়েজে পয়েন্টার এর অ্যারে কি কি তা বোঝা যাক।
পয়েন্টারের অ্যারে:(স্ট্রিংগুলিতে)
- এটি একটি অ্যারে যার উপাদানগুলি স্ট্রিং-এর বেস অ্যাডে ptrs হয়৷ ৷
- এটি নিম্নোক্তভাবে ঘোষিত এবং সূচনা করা হয় -
char *a[ ] = {"one", "two", "three"};
এখানে, a[0] হল "one" স্ট্রিং এর বেস অ্যাডের একটি পয়েন্টার।
a[1] স্ট্রিং "টু" এর বেস অ্যাডের একটি পয়েন্টার।
a[2] স্ট্রিং "থ্রি" এর বেস অ্যাডের একটি পয়েন্টার।
উদাহরণ
নিচে একটি C প্রোগ্রাম রয়েছে যা স্ট্রিং-
এর ধারণাগুলি প্রদর্শন করে#include<stdio.h> #include<string.h> void main(){ //Declaring string and pointers// char *s="Meghana"; //Printing required O/p// printf("%s\n",s);//Meghana// printf("%c\n",s);//If you take %c, we should have * for string. Else you will see no output//// printf("%c\n",*s);//M because it's the character in the base address// printf("%c\n",*(s+4));//Fifth letter a because it's the character in the (base address+4)th position// printf("%c\n",*s+5);//R because it will consider character in the base address + 5 in alphabetical order// }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Meghana M a R
উদাহরণ 2
আরেকটি উদাহরণ বিবেচনা করুন।
পোস্ট ইনক্রিমেন্ট এবং প্রি-ইনক্রিমেন্ট অপারেটর ব্যবহার করে অক্ষর মুদ্রণের ধারণাগুলি প্রদর্শন করে একটি C প্রোগ্রাম নীচে দেওয়া হল -
#include<stdio.h> #include<string.h> void main(){ //Declaring string and pointers// char *s="Meghana"; //Printing required O/p// printf("%s\n",s);//Meghana// printf("%c\n",++s+3);//s becomes 2nd position - 'e'. O/p is Garbage value// printf("%c\n",s+++3);//s becomes 3rd position - 'g'. O/p is Garbage value// printf("%c\n",*++s+3);//s=3 becomes incremented by 1 = 'h'.s becomes 4th position.h+3 - k is the O/p// printf("%c\n",*s+++3);//s=4 - h is the value. h=3 = k will be the O/p. S is incremented by 1 now. s=5th position// }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Meghana d d k k