অধ্যায় ১২: স্ট্রিং (String)—অক্ষর জুড়ে শব্দ আর বাক্য তৈরির ম্যাজিক!
হ্যালো ফিউচার কোডারস! আমরা যখন ৩ নম্বর অধ্যায়ে ডেটা টাইপ শিখেছিলাম, তখন দেখেছিলাম যে char দিয়ে কেবল একটি মাত্র অক্ষর (যেমন: ‘A’, ‘z’ বা ‘7’) মেমোরিতে রাখা যায়।
কিন্তু একটু ভাবো তো—তোমাকে যদি তোমার পুরো নাম (যেমন: “Wasifa”) কিংবা তোমার স্কুলের নাম কম্পিউটারের মেমোরিতে রাখতে বলা হয়, তাহলে তুমি কী করবে? C ল্যাঙ্গুয়েজে কিন্তু সরাসরি নাম বা টেক্সট রাখার জন্য “String” নামের আলাদা কোনো ডেটা টাইপ নেই!
তাহলে উপায়? উপায়টি লুকিয়ে আছে আমাদের গত পর্বের হিরো ‘অ্যারে’-এর মধ্যে। অনেকগুলো ক্যারেক্টার বা অক্ষরকে যখন আমরা ট্রেনের বগির মতো একটার পর একটা সাজিয়ে একটি পুরো শব্দ বা বাক্য তৈরি করি, তখন তাকেই প্রোগ্রামিংয়ের ভাষায় বলা হয় স্ট্রিং (String)।
🔤 স্ট্রিং আসলে কী? (সহজ উদাহরণ)
সহজ কথায়, স্ট্রিং হলো ক্যারেক্টারের অ্যারে (Array of Characters)। ধরে নাও, তোমার নাম “TOM”। C ল্যাঙ্গুয়েজ একে মেমোরিতে এভাবে সাজাবে:
0নম্বর রুমে থাকবে'T'1নম্বর রুমে থাকবে'O'2নম্বর রুমে থাকবে'M'3নম্বর রুমে থাকবে'\0'(নাল ক্যারেক্টার)
🔍 টিনএজ নোট: এই
'\0'বা Null Character-টি খুবই স্পেশাল! কম্পিউটার যখন কোনো স্ট্রিং পড়া শুরু করে, সে তো অন্ধের মতো একটার পর একটা অক্ষর পড়তেই থাকে। এই নাল ক্যারেক্টারটি কম্পিউটারকে সিগন্যাল দেয় যে—”বস, এখানেই শব্দটা শেষ! আর সামনে যাওয়ার দরকার নেই।”
💻 চলো কোড লিখে নিজের নাম প্রিন্ট করি!
কোড ব্লকে গিয়ে নিচের কোডটি ঝটপট লিখে রান করো এবং দেখো স্ট্রিং কীভাবে কাজ করে:
C
#include <stdio.h>
int main() {
// একটি স্ট্রিং তৈরি করলাম (ক্যারেক্টার অ্যারে)
char myName[] = "ToLearnTeam";
// স্ট্রিং প্রিন্ট করার জন্য ফরম্যাট স্পেসিফায়ার হলো %s
printf("আমাদের ব্লগের নাম: %s\n", myName);
// ইউজারের কাছ থেকে সরাসরি নাম ইনপুট নেওয়ার ম্যাজিক
char visitorName[30]; // সর্বোচ্চ ৩০ অক্ষরের নাম রাখা যাবে
printf("তোমার সুন্দর নামটা লেখো তো: ");
scanf("%s", visitorName);
printf("ওয়াও! হ্যালো %s, আমাদের কোডিং ক্লাসে তোমাকে স্বাগতম! 🎉\n", visitorName);
return 0;
}
⚠️ টিনএজ অ্যালার্ট (খুবই জরুরি ভুল): খেয়াল করেছ কি?
scanf("%s", visitorName);লেখার সময় কিন্তু আমরা ভেরিয়েবলের আগে&(Ampersand) চিহ্নটি দিইনি! হ্যাঁ, স্ট্রিংয়ের ক্ষেত্রে ইনপুট নেওয়ার সময়&দেওয়া লাগে না, কারণ অ্যারের নাম নিজেই তার মেমোরি অ্যাড্রেস বা ঠিকানা কম্পিউটারের কাছে প্রকাশ করে।
💡 আজকের কোডিং চ্যালেঞ্জ (Coding Challenge for You!)
আজকের টাস্কটি খুবই সহজ এবং মজার! ১. একটি ক্যারেক্টার অ্যারে বা স্ট্রিং ভেরিয়েবল তৈরি করো যেখানে তোমার পছন্দের কোনো খাবারের নাম বা গেমের নাম আগে থেকেই সেভ করা থাকবে। ২. %s ব্যবহার করে সেটি স্ক্রিনে প্রিন্ট করে দেখাবে।
কোডটি রান করতে পারলে কমেন্টে আমাদের “Done 🌟” লিখে জানাও! কোনো লাইনে এরর আসলে নির্দ্বিধায় কমেন্ট বক্সে তোমার কোডটি পেস্ট করে দাও।
আগামী পর্বে আমরা শিখবো C প্রোগ্রামিংয়ের সবচেয়ে রহস্যময় এবং থ্রিলিং অধ্যায়—’পয়েন্টার’ (Pointers)! কম্পিউটারের মেমোরির অলিগলিতে উঁকি দেওয়ার জন্য প্রস্তুত তো? চোখ রাখো tolearnteam.com-এ!
Read All Articles
- শূন্য থেকে প্রোগ্রামিং হিরো: C Language ফুল কোর্স!
- কোডিংয়ের হাতেখড়ি: তোমার কম্পিউটারে প্রথম প্রোগ্রাম!
- মেমোরির ম্যাজিক বক্স: ভেরিয়েবল এবং ডেটা টাইপের সহজ পাঠ!
- কম্পিউটার এবার কথা শুনবে! ইউজারের কাছ থেকে ইনপুট নেওয়ার ম্যাজিক
- কম্পিউটারের নিজস্ব মগজ! if-else দিয়ে সিদ্ধান্ত নেওয়ার ম্যাজিক
- জিপিএ ক্যালকুলেটরের রহস্য! else if দিয়ে একাধিক শর্ত মেলানোর ট্রিক
- লজিকের সুপারপাওয়ার! AND এবং OR অপারেটর দিয়ে এক লাইনে একাধিক শর্ত মেলানোর ট্রিক
- এক কোডেই হাজার বার! লুপ (Loop) ব্যবহার করে কম্পিউটারের খাটুনি কমানোর ট্রিক
- শর্ত না মিললে নো এন্ট্রি! while এবং do-while লুপের ভেতরের গল্প
- কোড গুছানোর ম্যাজিক বক্স! C ল্যাঙ্গুয়েজে ফাংশন (Function) কেন এত দরকারি?
- মেমোরির লম্বা ট্রেন! C ল্যাঙ্গুয়েজে অ্যারে (Array) কী এবং কেন শিখব?
- অক্ষরের মালা! C ল্যাঙ্গুয়েজে স্ট্রিং (String) দিয়ে নিজের নাম প্রিন্ট করার ট্রিক
- মেমোরির গোপন ঠিকানা! C ল্যাঙ্গুয়েজে পয়েন্টার (Pointer) কী এবং কেন মানুষ একে ভয় পায়?
- নিজের ইচ্ছায় ডেটা টাইপ! C ল্যাঙ্গুয়েজে স্ট্রাকচার (Structure) দিয়ে কাস্টম প্রোফাইল তৈরির ট্রিক
- এবার আসল প্রজেক্ট! C ল্যাঙ্গুয়েজ দিয়ে নিজের তৈরি প্রথম “স্মার্ট ক্যালকুলেটর”
- C তো শিখলাম, এরপর কী? প্রোগ্রামিং দুনিয়ায় পরবর্তী স্বপ্নের জার্নি!
