ক্যারেক্টার অ্যারেকে স্ট্রিং বলা হয়।
ঘোষণা
অ্যারে ঘোষণার সিনট্যাক্স নিচে দেওয়া হলো −
char stringname[size];
উদাহরণস্বরূপ − char string[50]; ৫০ ক্যারেক্টার দৈর্ঘ্যের স্ট্রিং
ইনিশিয়ালাইজেশন
- সিঙ্গেল ক্যারেক্টার কনস্ট্যান্ট ব্যবহার করে −
char string[10] = {'H', 'e', 'l', 'l', 'o', '\0'}- স্ট্রিং কনস্ট্যান্ট ব্যবহার করে −
char string[10] = "Hello";
অ্যাক্সেস করা − কন্ট্রোল স্ট্রিং "%s" '\0' مواجه না হওয়া পর্যন্ত স্ট্রিং অ্যাক্সেস করতে ব্যবহৃত হয়।
এখন, C প্রোগ্রামিং ভাষায় পয়েন্টারগুলোর অ্যারে কী সেটি বুঝতে পারি।
পয়েন্টারদের অ্যারে: (স্ট্রিংগুলির জন্য)
- এটি একটি অ্যারে যার এলিমেন্টগুলো স্ট্রিংর বেস অ্যাড্রেসের পয়েন্টার।
- এটি নিচের মতো ঘোষণা ও ইনিশিয়ালাইজ করা হয় −
char *a[] = {"one", "two", "three"};এখানে, a[0] স্ট্রিং "one"-এর বেস অ্যাড্রেসের পয়েন্টার।
a[1] স্ট্রিং "two"-এর বেস অ্যাড্রেসের পয়েন্টার।
a[2] স্ট্রিং "three"-এর বেস অ্যাড্রেসের পয়েন্টার।
উদাহরণ
স্ট্রিং কনসেপ্ট ডেমনস্ট্রেট করার একটি C প্রোগ্রাম নিচে দেওয়া হলো −
#include#include void main(){ // স্ট্রিং ও পয়েন্টার ঘোষণা // char *s = "Meghana"; // প্রয়োজনীয় আউটপুট প্রিন্ট করা // printf("%s\n", s); // Meghana // printf("%c\n", s); // যদি %c নেওয়া হয়, তবে স্ট্রিং-এর জন্য * দরকার। অন্যথায় আউটপুট দেখাবে না // printf("%c\n", *s); // M কারণ এটি বেস অ্যাড্রেসের ক্যারেক্টার // printf("%c\n", *(s+4)); // ৫ম অক্ষর a কারণ এটি (বেস অ্যাড্রেস+4)তম পজিশনের ক্যারেক্টার // printf("%c\n", *s+5); // R কারণ এটি বেস অ্যাড্রেসের ক্যারেক্টার + ৫ অক্ষর আগে যাবে বর্ণক্রমে // }
আউটপুট
উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যায় −
Meghana M a R
উদাহরণ ২
আরেকটি উদাহরণ বিবেচনা করুন।
নিচে পোস্ট-ইনক্রিমেন্ট ও প্রি-ইনক্রিমেন্ট অপারেটর ব্যবহার করে ক্যারেক্টার প্রিন্ট করার C প্রোগ্রাম দেওয়া হলো −
#include#include void main(){ // স্ট্রিং ও পয়েন্টার ঘোষণা // char *s = "Meghana"; // প্রয়োজনীয় আউটপুট প্রিন্ট করা // printf("%s\n", s); // Meghana // printf("%c\n", ++s+3); // s ২য় পজিশনে চলে গেল - 'e'। আউটপुट গার্বেজ ভ্যালু // printf("%c\n", s+++3); // s ৩য় পজিশনে চলে গেল - 'g'। আউটপুট গার্বেজ ভ্যালু // printf("%c\n", *++s+3); // s=3, ১ বাড়ে = 'h'। s ৪র্থ পজিশনে। h+3 = k আউটপুট // printf("%c\n", *s+++3); // s=4 - h ভ্যালু। h+3 = k আউটপুট। s এখন ১ বাড়ে। s=৫ম পজিশন // }
আউটপুট
উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যায় −
Meghana d d k k