সব প্রোগ্রামই কিছু না কিছু প্রোগ্রাম নিয়ে কাজ করে। প্রোগ্রামে ব্যবহারের জন্য ডেটাকে প্রথমে মেমরিতে সংরক্ষণ করা হয় এবং প্রয়োজনে মেমরি থেকে ডেটা উত্তোলন করে কাজে লাগানো হয়। নিম্ন পযার্য়ের ভাষায় মেমরিতে ডেটা রাখার জন্য সরাসরি বিট, বাইট এবং মেমরি এ্যাড্রেস ব্যবহার করা হয়, যা বড় বড় প্রোগ্রামের জন্য অত্যন্ত জটিল এবং কষ্টকর। কারণ লক্ষ লক্ষ এ্যাড্রেসের মধ্যে কখন কোন এ্যাড্রেসে কোন ডেটা রাখা হল তা মনে রাখা অসম্ভব। এই অসুবিধা দূর করার জন্য এবং প্রোগ্রামকে সহজ করার লক্ষ্যে উচ্চ পযার্য়ের ভাষায় বিট বাইট এর পরিবর্তে ভেরিয়েবল ব্যবহার করা হয়।
ভেরিয়েবলঃ ভেরিয়েবল হল মেমরির লোকেশনের নাম বা ঠিকানা। প্রোগ্রামে যখন কোন ডেটা নিয়ে কাজ করা হয়, প্রাথমিক ভাবে সেগুলো কমপিউটারের র্যামে অবস্থান করে। পরবর্তী সময়ে সেগুলো পুনরুদ্ধার বা পুনব্যবহারের জন্য ঐ নাম বা ঠিকানা জানা প্রয়োজন হয়। সুতরাং প্রোগ্রামে ডেটা নিয়ে কাজ করার সময় প্রতিটি ডেটার জন্য একটি ভেরিয়েবল ব্যবহার করাতে হয়। ভেরিয়েবল ব্যবহার না করে ও প্রোগ্রামে বিভিন্ন ধরনের ডেটা যেমন ক্যারেক্টার, স্ট্রিং, পূর্নসংখ্যা, ভগ্নাংশ তথা দশমিক সংখ্যা সায়েন্টিফিকসংখ্যা তখা এক্সপোনেন্সিয়াল সংখ্যা নিয়ে কাজ করা যায়।
ডেটা টাইপ ও মডিফায়ারঃ সি ভাষায় ভেরিয়েবল ব্যবহার করে ডেটা সংরক্ষণের জন্য ভেরিয়েবল ঘোষণার সময় ডেটার ধরন অনুযায়ী উপযুক্ত ডেটা টাইপ ও ঘোষণা করতে হয়। এরুপ ব্যবহৃত চারটি মৌলিক বা বিল্ট ইন ডেটা টাইপ হলঃ char, integer, float, double। চারটি মৌলিক ডেটা এর জন্য ঘোষিত ভেরিয়েবলের জন্য সংরক্ষিত মেমরি পরিসর, ডেটার প্রকৃতি এবং ধারণ ক্ষমতার একটা সীমাবদ্ধতা রয়েছে। যেমনঃ একটি char টাইপ ভেরিয়েবলের জন্য ৮ বিট বা ১ বাইট জায়গা সংরক্ষণ করে যাতে ০ থেকে ১২৭ মানবিশিষ্ট মোট ১২৮টি ব্যারেক্টারের যে কোন একটি মান রাথা যায়।
এছাড়াও সি তে আরও ৪টি মডিফায়ার আছে।
সেগুলো হলঃ- singed, unsigned, short, long ।
সাধারনত char টাইপ ভেরিয়েবলের জন্য singed ও unsigned মডিফায়ার এবং টাইপ ভেরিয়েবলের জন্য singed, unsigned, short ও long মডিফায়ার, float ও double টাইপ ভেরিয়েবলের জন্য short এবং long মডিফায়ার ব্যবহৃত হয়।
এসব ডেটার বিট ও মানের রেঞ্জ জানা খুব জরুরী।
| ডেটা টাইপ | বিট সংখ্যা | ডেটা বা ভেরিয়েবলের মানের রেঞ্জ |
| Char | 8 | -128↔ 127 বা -27 ↔ 27-1 |
| Signed char | 8 | -128↔ 127 বা -27 ↔ 27-1 |
| Unsigned char | 8 | 0 ↔ 255 বা 0 ↔ (28-1) |
| Integer | 16 | -32768 ↔32767 বা -215↔ 215-1 |
| Short integer | 16 | -32768 ↔32767 |
| Unsigned int | 16 | 0 ↔ 65535 বা 0 ↔ ( 216-1) |
| Long integer | 32 | - 231 ↔ 231-1 |
| Float | 32 | 3.4xE-38 ↔ 3.4xE38 |
| Long float | 64 | 1.7xE-308 ↔1.7xE308 |
| Double | 64 | 1.7xE-308 ↔1.7xE308 |
| Long double | 80 | 3.4xE-4932 ↔ 1.1xE4932 |
ভেরিয়েবল ঘোষনার নিয়মাবলীঃ
- একই ফাংশনে একই নামে দুই বা ততোধিক ভেরিয়েবল ঘোষণা করা যায় না।
- ভেরিয়েবল নামকরনে কেবল আলফাবেটিক ক্যারেক্টার (a .. z) (A…Z) ডিজিট (০,... ৯) এবং আন্ডারস্কোর(_)ও ডলার চিহৃ ($) ব্যবহার করা যায়। আন্ডারস্কোর ও ডলার চিহৃ ব্যতীত অন্য কোন স্পেশাল ক্যারেক্টার (যেমনঃ !,+,-,% ইত্যাদি ব্যবহার করা যায় না।) যেমনঃ my_car, My$Roll বৈধ, কিন্তু my@car , My&Roll অবৈধ।
- ভেরিয়েবল নামের মধ্যে কোন ফাকা স্থান থাকতে পারে না। যেমনঃ Myname, Myhouse বৈধ, My name, My house অবৈধ।
- ভেরিয়েবলের নাম ডিজিট বা অংক দিয়ে শুরু হতে পারে না।
- সি প্রোগ্রামে বড় হাতের অক্ষর এবং ছোট হাতের অক্ষর আলাদ অর্থ বহন করে। সি প্রোগ্রামে ছোট হাতের অক্ষর ব্যবহার করতে হয় । তবে বিশেষ ক্ষেত্রে বড় হাতের অক্ষর ব্যবহার করা হয়।
- কোন কীওয়ার্ডের নাম ভেরিয়েবল হিসেবে ব্যবহার করা যায় না।
- ভেরিয়েবল নামকরনে যে কোন সংখ্যাক ক্যারেক্টার ব্যবহার করা যায়। তবে ভেরিয়েবলের নাম ৩১ ক্যারেক্টারের মধ্যে হওয়া ভাল।



33 


sumondpi
ধন্যবাদ। চালিয়ে জান >>>>>>>>>>>>
কায়সার আহমেদ
আপনাকেও ধন্যবাদ।
ফাহিম
vai only one request, mazpothe chere dien na. Ar amon kichu dear cheta koren ja usual boi gulate paoa jayna. Thnx.
কায়সার আহমেদ
আশা করি সম্পূর্ণ করতে পারব। ধন্যবাদ।
Javed
কায়সার ভাই, শিখাইতে না পারলে পিঠে ছালা বাইন্দা রাইখেন কিন্তু। যদি মাঝপথে পালিয়ে যান তাহলে আপনাকে …………….. দিমু। ধন্যবাদ মনে রাখবেন আশা করি।
কায়সার আহমেদ
ভয় পাইলাম। তবে হ্যাঁ চেষ্টা করব । আপনি অবশ্যই সাথে থাকবেন।
চেস্টায় সাইদ
ধন্যবাদ ভাল একটা বিষয়ে টিউটোরিয়াল শুরু করার জন্য।
আজই আপনার টিউনটা দেখলাম খুব ভাল লাগলো।
“আপনিও সহজেই শিখতে পারেন সি প্রোগ্রামিং” দারুন হেডিং, হেডিং দেখেই কিছুটা আত্মবিস্বাস বেড়ে গেছে।
চালিয়ে যান সাথে পাবেন। প্রাকটিস শুরু করে দিলাম।
কায়সার আহমেদ
চেষ্টায় সাঈদ ভাই, ধন্যবাদ জানাচ্ছি। প্রাকটিস শুরু করেন। আশা রাখি চালিয়ে যাব।
খোমাবই
ভাই দয়া করে টিউনটি continue করবেন। আবারো আপনাকে অসংখ্য ধন্যবাদ।
কায়সার আহমেদ
Thanks.
LuckyFM
চালিয়ে যান পার্ট-২