লিঙ্কড লিস্ট / Linked list সম্পর্কে ধারণা এবং সি প্রোগ্রামিং এ ইমপ্লিমেন্টেশন

ডেটা স্টোর করার জন্য অ্যারের মত আরেকটি ডেটা স্ট্যাকচার হচ্ছে Linked List। এটি স্ট্র্যাকচার অনুযায়ী ডাটা স্টোর করে, এবং রান টাইমে নতুন স্পেসের দরকার হলে অটোমেটিকেলি তা তৈরি করে নিতে পারে।  এটি হচ্ছে ডাইনামিক ডেটা স্ট্রাকচার। এটি অ্যারের মতই, তবে অ্যারেতে আমাদের কতটুকু মেমরি দরকার, প্রথমেই বলে দিতে হয়। কিন্তু লিঙ্কড লিস্টে প্রয়োজন অনুযায়ী মেমরি বাড়ানো … Read more

C/সি প্রোগ্রামিং এ ডাইনামিক মেমরি এলোকেশন

রানটাইমে মেমরি এলোকেট করার প্রসেসকে ডাইনামিক মেমরি এলোকেশন বলে। আমরা যখন একটা অ্যারে ডিক্লেয়ার করি, তখন কোন কোন সময় অনেক বিশাল একটা অ্যারে ডিক্লেয়ার করি, যার বেশিরভাগই লাগে না। আবার অনেক সময় অনেক ছোট একটা অ্যারে ডিক্লেয়ার করি, কিন্তু প্রোগ্রাম রান করার পর আমাদের আরো বড় সাইজের দরকার হতে পারে। আর এ সমস্যা গুলো সমাধানের … Read more

ফ্লো চার্ট / Flow Chart / প্রবাহ চিত্র

কাজ  করার ধাপ গুলোর চিত্রিত রুপ হচ্ছে ফ্লো চার্ট। এখানে কাজ বলতে যে কোন কাজ। বাজার করতে যাওয়া ,  একটা কম্পিউটার প্রোগ্রাম লেখা , কোন একটা সমস্যা সমাধান করা, আস্ত একটা গেম তৈরি করে ফেলা। সব গুলো কাজ করতে কিছু ধাপ অনুসরন করতে হয়। এই ধাপ গুলোকে বলে এলগরিদম / অ্যালগরিদম। আর অ্যালগরিদম গুলোর চিত্রিত … Read more

সি পোগ্রামিং – Strings / স্ট্রিং

স্ট্রিং হচ্ছে কারেকটার সেট। একটা ওয়ার্ড, একটা বাক্য, একটা প্র্যারাগ্রাফ, সব গুলোই স্ট্রিং। যেমন Hello World একটা স্ট্রিং। আবার hello ও একটা স্ট্রিং। world ও একটা স্ট্রিং। যখন শুধু একটা বর্ণ, তখন তা কারেকটার। আগে বলেছি স্ট্রিং হচ্ছে কারেকটার সেট। হ্যা, একটা one-dimensional কারেকটার অ্যারে হচ্ছে স্ট্রিং। লেখাটি পড়ার আগে অ্যারে/Array সম্পর্কে ধারণা থাকা লাগবে। … Read more

সি প্রোগ্রামিং – ফাইল অপারেশন

আমাদের এমন প্রোগ্রাম লিখতে হতে পারে, যেখানে প্রোগ্রাম কিছু ডেটা কম্পিউটারে সেভ করে রাখবে। কম্পিউটারে ডেটা সেভ করে রাখার সবচেয়ে সহজ উপায় হচ্ছে ফাইলে রাখা। কোন ফাইলে ডেটা রাখা এবং পরে আবার ঐ ফাইল থেকে ডেটা গুলো নিয়ে পুনরায় কাজ করার উপায় জানব আমরা এই অধ্যায়।   ফাইল ডিক্লেয়ার একটা ফাইল নিয়ে কাজ করার জন্য … Read more

সি প্রোগ্রামিংঃ স্ট্রাকচার – struct

আমরা ডেটা টাইপ সম্পর্কে জানি, int, char, float ইত্যাদি। Structures দিয়ে আমরা নিজেদের মত করে ডেটা স্ট্রাকচার তৈরি করে নিতে পারি। যেমন অ্যারে হচ্ছে একটা ডেটা স্ট্র্যাকচার। যেখানে শুধু আমরা একই ডেটা টাইপ এর ডেটা রাখতে পারি। কিন্তু স্ট্র্যাকচার তৈরি করে আমরা এক সাথে int, char, float ইত্যাদি ভিন্ন ভিন্ন ডেটা এক সাথে রাখতে পারি। … Read more

সি প্রোগ্রামিংঃ পয়েন্টার

কম্পিউটার মেমরি এবং মেমরি অ্যাড্রেস পয়েন্টার প্রোগ্রামিং এ দারুন একটি টুল। পয়েন্টার সম্পর্কে জানার আগে কিছু ব্যাসিক জিনিস জানা যাক, যেগুলো বুঝতে কাজে দিবে।   ভ্যারিয়েবল গুলো কিভাবে কম্পিউটার মেমরিতে/ র‍্যাম এ স্টোর হয়? র‍্যাম এর এক একটি সেল এক একটি বাইট। আর প্রত্যেকটা বাইট এর একটি করে এড্রেস রয়েছে। আর প্রতিটা বাইটে ৮টি করে … Read more

সি প্রোগ্রামিং এ অ্যারে

অ্যারে সম্পর্কে জানার আগ পর্যন্ত আমরা সাধারণত দুই একটা ভ্যারিয়েবল নিয়ে কাজ করেছি। কিন্তু বাস্তব জীবনে আমাদের এমন এমন প্রোগ্রাম লিখতে হতে পারে, যেখানে একের অধিক ভ্যারিয়েবল নিয়ে কাজ করতে হবে। একই টাইপের একের অধিক ভ্যারিয়েবল নিয়ে কাজ করার জন্য প্রোগ্রামিং এ আমরা অ্যারে ব্যবহার করি। যেমন প্রথম পাঁচটা প্রাইম নাম্বার হচ্ছে 2, 3, 5, … Read more

সি তে ফাংশন

প্রোগ্রামিং এর সবচেয়ে মজার জিনিস হচ্ছে ফাংশন। এর আগে আমরা printf, scanf, toupper, tolower ইত্যাদি ফাংশন ব্যবহার করেছি। এগুলো প্রোগ্রামিং ল্যাঙ্গুয়েজের এর সাথে দিয়ে দেওয়া হয়েছে যেন আমরা সহজেই প্রোগ্রাম লিখতে পারি। এ অধ্যায় আমরা শিখব কিভাবে নিজের প্রয়োজন মত ফাংশন লিখে ফেলা যায়। ফাংশন হচ্ছে পুনরায় ব্যবহার যোগ্য কোড ব্লক। যা একটি নির্দিষ্ট কাজ … Read more

সি প্রোগ্রামিং – switch case

একটা ভ্যালু এর উপর নির্ভর করে অনেক গুলো স্টেটম্যান্ট থেকে একটা স্টেটম্যান্ট এক্সিকিউট করার জন্য switch case ব্যবহার করা হয়। switch case  সাধারণত নিচের মত করে লেখা হয়ঃ এখানে যদি switch ( variable ) এর variable  টির মান expression 1 এর সাথে মিলে, তাহলে case expression 1 এর  statement এক্সিকিউট হবে। যদি variable  টির মান expression 2 এর সাথে মিলে, তাহলে case expression 2 … Read more