বেসিক সি প্রোগ্রামিং ৩ – ডাটা টাইপ এবং ভ্যারিয়েবল

সি প্রোগ্রামিং টিউটোরিয়ালের ২য় পোষ্টে আমরা কিওয়ার্ড এবং আইডেন্টিফায়ার সম্পর্কে শিখেছিলাম ( পোষ্টটা এখানে পাবেন )। আজকে আমরা সি প্রোগ্রামিং ল্যাঙ্গুয়েজের ডাটা টাইপ এবং ভ্যারিয়েবল নিয়ে কিভাবে কাজ করতে হয় তা শিখব।

ডাটা টাইপঃ প্রোগ্রামিং ল্যাঙ্গুয়েজে ডাটা টাইপ হল অনেকগুলো ডাটার এমন একটা সেট যেখানে ডাটাগুলোর কিছু নির্দিষ্ট মান, সাইজ এবং বৈশিষ্ট্য থাকে।
মনেকরুন, কোন একটা প্রোগ্রামে আমাদেরকে পূর্ণসংখ্যা ব্যবহার করতে বলা হল তখন আমাদেরকে অবশ্যই এমন একটা ডাটা টাইপ দিয়ে কাজ করতে হবে যেটা পূর্ণসংখ্যা ব্যবহার করার জন্য তৈরি করা হয়েছে, ঠিক একইভাবে দশমিক সংখ্যা ব্যবহার করতে বলা হলে দশমিক সংখ্যা ব্যবহার করার জন্য যে ডাটা টাইপ আছে আমাদেরকে সেটা ব্যবহার করতে হবে।
সি প্রোগ্রামিং এ ৫ রকম ডাটা টাইপ আছে। সেগুলো হলঃ Integer, Character, Floating Point, Double, এবং, Void. নিচের ছবিতে ডাটা টাইপগুলোর নাম এবং সেগুলো প্রোগ্রামে ব্যবহার করার জন্য কোন কিওয়ার্ডটা ব্যবহার করতে হবে এবং ডাটা টাইপ গুলোর সাইজ দেখানো হয়েছে।
Data type in C Programming Language
সি প্রোগ্রামিং এর ডাটা টাইপগুলো ভাল করে শিখে রাখতে পারলে পরবর্তিতে নতুন প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখার সময় ভাল কাজ দে।
উপরে আমরা যে ডাটা টাইপগুলো দেখলাম সেগুলো ছিল মৌলিক ডাটা টাইপ। এই ডাটা টাইপগুলো ছাড়া আরো কিছু ডাটা টাইপ আছে যেগুলো মৌলিক ডাটা টাইপগুলো ব্যবহার করার সুবিধার্তে তৈরি করা হয়েছে। সেগুলো হলঃ long, short, signed, unsigned।
মৌলিক ডাটা টাইপগুলো থাকতে নতুন ডাটা টাইপগুলো কেন তৈরি করা হল?
– কারন সবগুলো ডাটাটাইপের একটা নির্দিষ্ট সীমা (range) আছে। মনেকরুন, আমরা কিছু নাম্বার নিয়ে কাজ করছি এবং ডাটা টাইপ হিসেবে Integer ব্যবহার করছি। Integer ডাটাটাইপের সীমা হলঃ -৩২৭৬৮ থেকে ৩২৭৬৭, এখন আমাদের ডাটাতে যদি কোন নাম্বার এই সীমার বাইরে হয় (-৩২৭৬৮ থেকে ছোট অথবা ৩২৭৬৭ থেকে বড়) তখন ঐই নাম্বারটার জন্য Integer ডাটাটাইপ কাজ করবে না। তখন ঐই নাম্বারটার জন্য এমন কোন ডাটা টাইপ ব্যবহার করতে হবে যেটা পূর্ণসংখ্যা দিয়ে কাজ করার জন্য তৈরি এবং Integer এর সীমা থেকে বড় নাম্বার কে প্রসেস করতে পারে। আমাদের সুবিধার জন্য এগুলো আগে থেকেই তৈরি করা আছে।
সবগুলো ডাটা টাইপের সাইজ এবং সীমা কত?
– নিচের ছবিতে সবগুলো ডাটা টাইপের সাইজ এবং সীমা দেওয়া হলঃ
Data type size and range in c programming language

ভ্যারিয়েবলঃ ভ্যারিয়েবল হল একপ্রকার আইডেন্টিফায়ার যেটি কম্পিউটার প্রোগ্রামের কোন একটা নির্দিষ্ট অংশের কিছু নির্দিষ্ট রকম তথ্য দেখানোর জন্য ব্যবহার করা হয়। সহজভাবে বলা যায়, কম্পিউটার প্রোগ্রামে কোন ডাটা কিংবা তথ্যের মেমোরী লোকেশন দেখানোর জন্য ভ্যারিয়েবল ব্যবহার করা হয়।
মনেকরুন একটা কম্পিউটার প্রোগ্রামের মাধ্যমে আপনি আপনার নাম, বয়স, এবং শখ সংরক্ষন করে রাখলেন। মনেকরুন আপনার নামটা মেমোরীর ৭৮ তম পজিশনে, বয়স ৮৪৮ তম পজিশনে এবং শখ ১২৯৩ তম পজিশনে আছে। এখন আপনার পক্ষে কি মেমোরীর পজিশনগুলো মনে রাখা সম্ভব? মোটেও সম্ভব না। কারন মাত্র তিনটা ডাটা থাকবে অথবা মেমোরী পজিশনগুলো এত সহজ হবে তার কোন নিশ্চয়তা নাই। এখন এই সব পজিশনের ডাটা দেখতে চাইলে আপনাকে অবশ্যই এগুলোর পজিশন মনে রাখতে হবে, যেহেতু এই কাজটা আপনি কিংবা সাধারন মানুষের পক্ষে সম্ভব নয় সেহেতু আপনাকে ঐই তথ্যগুলো এমন কোন কিছুতে রাখতে হবে যাতে সেগুলো যখন ইচ্ছা তখন ব্যবহার করতে পারবেন। এ কাজটা করার জন্য ভ্যারিয়েবল ব্যবহার করা হয়। এখন AA ভ্যারিয়েবলে আপনার নাম, BB ভ্যারিয়েবলে বয়স এবং CC ভ্যারিয়েবলে শখ রাখলেন। এখন আপনার নাম অথবা বয়স অথবা শখ দেখতে চাইলে শুধু ভ্যারিয়েবলটা কল করলে হবে। কত সহজ তাই না?
ভ্যারিয়েবল কিভাবে ডিক্লায়ার করতে হয়?
– ভ্যারিয়েবলের একটা সিনট্যাক্স আছেঃ
datatype variable_name;
datatype এ আমরা সি প্রোগ্রামিং এর যেকোন ডাটা টাইপ ব্যবহার করতে পারব, এবং variable_name এ যা ইচ্ছা তাই লিখতে পারব। তবে ভ্যারিয়েবলের নাম ডিক্লায়ার করার কয়েকটা নিয়ম আছে। যেমনঃ
   – ভ্যারিয়েবলের নাম A-Z অথবা a-z, underscore ( _ ) দিয়ে শুরু করতে হবে।
   – ভ্যারিয়েবলের নাম 1-9 কিংবা অন্য কোন কিছু দিয়ে শুরু করা যাবে না (A-Z, a-z, _ ছাড়া)। ১ম পজিশন ছাড়া বাকী যেকোন পজিশনে 1-9 ব্যবহার করা যাবে।
   – ভ্যারিয়েবলে hypen ( – ) ব্যবহার করা যাবে না।
   – ভ্যারিয়েবলের নামের মাঝে কোন ফাঁকা (blank space) রাখা যাবে না।
   – ভ্যারিয়েবলের নাম হিসেবে কোন কিওয়ার্ড ব্যবহার করা যাবে না।

কয়েকটা সঠিক ভ্যারিয়েবলের নামঃ
int abc, float ab_cd, double a1, long int b1, unsigned long int A1, int B1, int _abc;
কয়েকটা ভুল ভ্যারিয়েবলের নামঃ
int 1ab, float as-sdf, float err rtt, double rf-r, double if, long int return;

আশা করি আপনার আজকের পোষ্টটা বুঝতে পেরেছেন। পরবর্তী পোষ্টে আমরা সি প্রোগ্রামিং ল্যাঙ্গুয়েজের ইনপুট-আউটপুট ফাংশন সম্পর্কে শিখব।

আপনার মন্তব্য...