শুভেচ্ছা, তরুণ প্রোগ্রামার!
গতবার আমরা শিখেছিলাম কিভাবে ভেরিয়েবল (বাক্স) বানাতে হয়। কিন্তু মনে করো, তুমি তোমার ক্লাসের ৫০ জন বন্ধুর রোল নম্বর মেমরিতে রাখতে চাও। আলাদা আলাদা ভেরিয়েবল (roll1, roll2, roll3… roll50) বানানো কি সম্ভব? মোটেও না! এর জন্যই আছে Array। আর শুধু সংখ্যা না, যদি ‘শব্দ’ বা ‘বাক্য’ রাখতে চাও, তাহলে লাগবে String।
চলো, আজকের জাদু শুরু করি!
📦 অধ্যায় ১: Array – এক নামে অনেক জায়গা
Array মানে হলো একই টাইপের ডেটার সারি। এটা একটা বড় আলমারির মতো, যেখানে অনেকগুলো বাক্স পাশাপাশি সাজানো থাকে। প্রতিটা বাক্সের আলাদা নাম্বার থাকে, যাকে বলে ইন্ডেক্স (Index)। মনে রাখবে, C তে ইন্ডেক্স শুরু হয় ০ থেকে!
গঠন:ডেটা_টাইপ নাম[সাইজ];
উদাহরণ:int রোল[৫]; → এখানে ৫টি পূর্ণসংখ্যা রাখার জায়গা তৈরি হলো।
এদের নাম হলো: রোল[০], রোল[১], রোল[২], রোল[৩], রোল[৪]।
✍️ অধ্যায় ২: Array তে মান বসানো ও দেখা
একটা প্রোগ্রাম লিখি যেখানে ৫টি সংখ্যা রাখবো এবং প্রিন্ট করবো।
text
#include <stdio.h>
int main() {
int সংখ্যা[৫] = {১০, ২০, ৩০, ৪০, ৫০}; // একসাথে মান বসানো
printf("৩য় সংখ্যাটি হলো: %d", সংখ্যা[২]); // মনোযোগ! ২ নম্বর ইন্ডেক্স মানে ৩য় ঘর
return 0;
}
আউটপুট: ৩য় সংখ্যাটি হলো: ৩০
👉 বুঝে ফেলো: তুমি যদি সংখ্যা[৫] লিখো, তাহলে কিন্তু কম্পিউটার রেগে যাবে! কারণ ৫ সাইজের অ্যারেতে শেষ ইন্ডেক্স হলো ৪।
🔄 অধ্যায় ৩: লুপ আর Array – জোড়া রাজা
Array-এর পুরো পাওনা বের হয় লুপের সঙ্গে। হাত দিয়ে ৫০টা ডেটা প্রিন্ট করা সম্ভব নয়, কিন্তু লুপ ১ সেকেন্ডে করে ফেলে!
উদাহরণ: ইউজারের কাছ থেকে ৫টি সংখ্যা নিয়ে সেগুলো প্রিন্ট করা
text
#include <stdio.h>
int main() {
int নম্বর[৫], i;
printf("৫টি সংখ্যা ইনপুট দাও:\n");
for(i = ০; i < ৫; i++) {
scanf("%d", &নম্বর[i]);
}
printf("তোমার দেওয়া সংখ্যাগুলো:\n");
for(i = ০; i < ৫; i++) {
printf("%d ", নম্বর[i]);
}
return 0;
}
🎯 চ্যালেঞ্জ: উপরের প্রোগ্রামে যদি i = ০ থেকে শুরু করে i <= ৫ পর্যন্ত লিখি, তাহলে কী হবে? (উত্তর: এরর! কারণ নম্বর[৫] বলে কোনো ঘর নেই)।
🗣️ অধ্যায় ৪: String – ‘শব্দ’ সংরক্ষণের আসল মন্ত্র
String হলো ক্যারেক্টার (char) টাইপের Array। কিন্তু এখানে একটা বিশেষ নিয়ম আছে—শেষে একটা '\0' (নাল) ক্যারেক্টার থাকে, যা বলে দেয় “এইখানে স্ট্রিং শেষ”।
ডিক্লেয়ারেশন:char নাম[২০]; → এখানে সর্বোচ্চ ১৯টি অক্ষর রাখা যায়, কারণ শেষটা '\0' এর জন্য রিজার্ভ।
দেখো কীভাবে লিখতে হয়:
text
#include <stdio.h>
int main() {
char শহর[২০] = "ঢাকা";
printf("আমি থাকি %s তে", শহর); // %s দিয়ে স্ট্রিং প্রিন্ট হয়
return 0;
}
আউটপুট: আমি থাকি ঢাকা তে
🧪 অধ্যায় ৫: String নিয়ে মজার কাজ (printf আর scanf)
ইউজারের কাছ থেকে নাম ইনপুট নিয়ে তাকে শুভেচ্ছা জানাও:
text
#include <stdio.h>
int main() {
char নাম[৫০];
printf("তোমার নাম কী? ");
scanf("%s", নাম); // & চিহ্ন দিতে হয় না! (শুধু স্ট্রিং-এর ক্ষেত্রে)
printf("হ্যালো %s! তুমি আজ C প্রোগ্রামিং শিখবে!", নাম);
return 0;
}
সতর্কতা: scanf দিয়ে শুধু একটি শব্দ (যেমন: “রাফি”) নেয়। যদি তুমি “মোঃ রাফি” লিখো, তবে শুধু “মোঃ” নেবে। এই সমস্যা দূর করতে আমরা gets() অথবা fgets() ব্যবহার করি (ভবিষ্যতের অধ্যায়ে শিখবে)।
🔥 অধ্যায় ৬: Array-এর যোগফল বের করার জাদু
একটা প্রোগ্রাম লিখি যা ৫টি সংখ্যার যোগফল বের করবে:
text
#include <stdio.h>
int main() {
int মান[৫] = {৫, ১০, ১৫, ২০, ২৫};
int যোগফল = ০;
for(int i = ০; i < ৫; i++) {
যোগফল = যোগফল + মান[i];
}
printf("মোট যোগফল: %d", যোগফল);
return 0;
}
আউটপুট: মোট যোগফল: ৭৫
🧠 অধ্যায় ৭: বাস্তব জীবনের সম্পর্ক (কেন এটা শিখছি?)
তোমার ফোনের কন্টাক্ট লিস্ট কল্পনা করো। প্রতিটি কন্টাক্ট হলো একটা String আর তাদের ফোন নম্বর হলো Integer Array। তুমি যদি প্রোগ্রামিং না জানতে, তুমি ১০০০ কন্টাক্টের জন্য ১০০০টা ভেরিয়েবল বানাতে! কিন্তু C-তে Array আর String দিয়ে ১০ লাইন কোডেই সব করা সম্ভব। গেমসে স্কোরবোর্ড, গ্রাফিক্সে পিক্সেলের মান—সবই Array দিয়ে তৈরি।
🏠 তোমার জন্য হোমওয়ার্ক (চেষ্টা করতে হবে!)
১. ৫টি নামের Array নাও। লুপ চালিয়ে সব নাম প্রিন্ট করো।
২. ১০টি সংখ্যার Array নিয়ে সবচেয়ে বড় সংখ্যাটি বের করার প্রোগ্রাম লেখো।
৩. char ভাষা[] = "Bangladesh"; এই স্ট্রিং-টির দৈর্ঘ্য বের করো (লুপ ব্যবহার করে, strlen ফাংশন ছাড়া)।
🚀 শেষ কথা
আজ তুমি শিখলে—
✅ কিভাবে একটা বড় ডেটাকে ছোট্ট Array-তে ফেলতে হয়।
✅ কিভাবে লুপের সাহায্যে সেই ডেটা ঘেঁটে দেখতে হয়।
✅ আর কীভাবে শব্দ (String) সংরক্ষণ করে সেগুলো নিয়ে খেলতে হয়।
এটা অনেক বড় মাইলফলক! এখন তুমি শুধু সংখ্যা না, মানুষের নাম, শহর, বাক্য—সব কিছু তোমার প্রোগ্রামে আনতে পারো।
🎯 পরের আর্টিকেলে: আমরা শিখবো ফাংশন (Function) – কীভাবে নিজের মতো করে ব্লক বানিয়ে যেকোনো জায়গায় ব্যবহার করা যায়। তখন তোমার কোড আরও পরিষ্কার আর শক্তিশালী হবে!
📢 www.tolearnteam.com – তুমি কোথায় আটকে আছো? কমেন্টে জানাও, আমরা একসাথে সমাধান করবো। তোমার প্রোগ্রামিং যাত্রা সফল হোক!
All Related Articles (Beginner Level)
- প্রোগ্রামিংয়ের জগতে প্রথম পদক্ষেপ: C Programming for Beginners
- C প্রোগ্রামিং – দ্বিতীয় অধ্যায়: Array আর String (ডেটার সারি ও শব্দের খেলা)
- C প্রোগ্রামিং – তৃতীয় অধ্যায়: ফাংশন (Function) – তোমার নিজস্ব জাদুমন্ত্র তৈরি করো!
- C প্রোগ্রামিং – চতুর্থ অধ্যায়: পয়েন্টার (Pointer) – কম্পিউটারের ঠিকানার খেলা!
- C প্রোগ্রামিং – পঞ্চম অধ্যায়: স্ট্রাকচার (Structure) – ডেটার ‘সুপারহিরো টিম’ বানাও!
- C প্রোগ্রামিং – ষষ্ঠ অধ্যায়: ফাইল হ্যান্ডলিং (File I/O) – ডেটাকে চিরস্থায়ী করো!
- সি প্রোগ্রামিং – সপ্তম ও শেষ অধ্যায়: পূর্ণাঙ্গ প্রজেক্ট – ‘ছাত্র মার্কশিট ম্যানেজমেন্ট সিস্টেম’
- C প্রোগ্রামিং – শেষ পাতা নয়, নতুন দিগন্ত! (রিক্যাপ ও ক্যারিয়ার রোডম্যাপ)
