সি প্রোগ্রামিং ডেটা টাইপ - C programming Data Types
এই অধ্যায়ে আপনি সি প্রোগ্রামিং ডেটা টাইপ(data type) এবং ভ্যারিয়েবল ডিক্লেয়ারেশন(declaration) পদ্ধতি সম্মন্ধে জানবেন।
ডেটা টাইপ দ্বারা ভ্যারিয়েবলের মধ্যে সংরক্ষিত ডেটার টাইপ নির্ধারণ করা হয়।
সি প্রোগ্রামিং এ ভ্যারিয়েবল বা মেমোরি লোকেশন(location)-কে ব্যবহারের পূর্বে ডিক্লেয়ার করতে হয়। একইভাবে ফাংশনকেও ব্যবহারের পূর্বেই ডিক্লেয়ার(declare) করতে হয়।
ডেটা টাইপ যুক্ত ভ্যারিয়েবল এবং ফাংশন ডিক্লেয়ারেশন দ্বারা সাধারণত ডেটার সাইজ এবং টাইপ নির্ধারণ করা হয়।
সি ডেটা টাইপ
- মৌলিক(Fundamental) ডেটা টাইপ
- ইন্টেজার টাইপ(Integer type)
- ফ্লোটিং টাইপ(Floating type)
- ক্যারক্টার টাইপ(Character type)
- প্রাপ্ত(Derived) ডেটা টাইপ
এই অধ্যায়ে আমরা মৌলিক ডেটা টাইপের প্রতি বেশী নজর দিয়েছি। আপনি ডিরাইভ ডেটা টাইপ সম্মন্ধে জানতে আমাদের ডিরাইভ(Derived) ডেটা টাইপ সম্পর্কিত অধ্যায় ভিজিট করুন।
সি প্রোগ্রামিং char - ক্যারেক্টার ডেটা টাইপ
ক্যারেক্টার টাইপের ভ্যারিয়েবল ডিক্লেয়ার করার জন্য char কীওয়ার্ড ব্যবহৃত হয়। উদাহরণস্বরূপঃ
char alphabet = 'a'
এখানে alphabet হলো ক্যারেক্টার ভ্যারিয়েবল এবং alphabet এর ভ্যালু 'a'।
ক্যারেক্টার ভ্যারিয়েবলের সাইজ 1 বাইট।
সি প্রোগ্রামিং int - ইন্টেজার ডেটা টাইপ
দশমিক(.) সংখ্যা ব্যতীত সকল ধনাত্মক এবং ঋণাত্মক পূর্ণ সংখ্যা এই টাইপের মধ্যে পড়ে। যেমন- 0, -10, 10 ইত্যাদি
সি প্রোগ্রামিং এ ইন্টেজার টাইপের ভ্যারিয়েবল ডিক্লেয়ার করার জন্য int কীওয়ার্ড ব্যবহৃত হয়। উদাহরণস্বরূপঃ
int roll_no;
এখানে roll_no হলো ইন্টেজার টাইপের ভ্যারিয়েবল।
সি প্রোগ্রামিং এ আপনি একটি ডিক্লেয়ারেশনের মাধ্যমে অনেক ভ্যারিয়েবলকে একই সঙ্গে ডিক্লেয়ার করতে পারেন। উদাহরনস্বরুপঃ
int roll_no, age, years;
int এর সাইজ 2 বাইট(পুরাতন কম্পিউটারে) অথবা 4 বাইট হতে পারে। আপনার ভ্যারিয়েবলের সাইজ যদি 4 বাইট হয় তাহলে ইহা 232 সংখ্যক স্বতন্ত্র ভ্যালু গ্রহণ করতে পারে। যেমন- -231,-231+1, ...,-2, -1, 0, 1, 2, ..., 231-2, 231-1
একইভাবে int ভ্যারিয়েবলের সাইজ 2 বাইট হলে ইহা -215 থেকে 215-1 এর মধ্যে 216 সংখ্যক বিভিন্ন ভ্যালু গ্রহণ করতে পারে। আপনি যদি 231-1 অর্থাৎ +2147483647 থেকে বড় নাম্বার এবং -231 অর্থাৎ -2147483648 থেকে ছোট নাবার স্টোর(store) করতে চান তাহলে প্রোগ্রাম ঠিকমত রান(run) করবে না।
সি প্রোগ্রামিং float - ফ্লোটিং টাইপ
ফ্লোটিং টাইপ ভ্যারিয়েবলে যেকোনো বাস্তব সংখ্যা থাকতে পারে। যেমন- 3.1416, -5.382, 10.0 ইত্যাদি। ফ্লোট টাইপের ভ্যারিয়েবল ডিক্লেয়ার(declare) করার জন্য আপনি হয় float
অথবা double
কীওয়ার্ড ব্যবহার করতে পারেন। উদাহরনস্বরুপঃ
float accountBalance;
double bookPrice;
এখানে accountBalance এবং bookPrice উভয়েই ফ্লোটিং টাইপ ভ্যারিয়েবল।
সি প্রোগ্রামিং এ ফ্লোটিং ভ্যালুকে এক্সপনেনশিয়াল(exponential) ফর্মেও উপস্থাপন করা যায়। উদাহরনস্বরুপঃ
float normalizationFactor = 22.442e2;
সি প্রোগ্রামিং ফ্লোট এবং ডাবলের মধ্যে পার্থক্য
float টাইপ | double টাইপ |
---|---|
ফ্লোট(float) ভ্যারিয়েবলের সাইজ ৪ বাইট | ডাবল(double) ভ্যারিয়েবলের এর সাইজ ৮ বাইট |
সিঙ্গেল প্রিসিশন(single precision) এর ক্ষেত্রে ফ্লোট ডেটা টাইপ ব্যবহৃত হয় | ডাবল প্রিসিশন(double precision) এর ক্ষেত্রে double ডেটা টাইপ ব্যবহৃত হয়। |
ফ্লোটিং পয়েন্ট ভ্যারিয়েবলের প্রিসিশন ৬ ডিজিট | ডাবলের প্রিসিশান ১৪ ডিজিট। |
চলুন এক নজরে ডেটা টাইপসমূহ দেখে নিই। এখানে ৩২ বিট আর্কিটেকচারের উপর ভিত্তিকরে ডেটার সাইজ দেওয়া হোল।
ডেটা টাইপ | মেমোরি সাইজ | রেঞ্জ |
---|---|---|
char | 1 বাইট | −128 থেকে 127 |
signed char | 1 বাইট | −128 থেকে 127 |
unsigned char | 1 বাইট | 0 থেকে 255 |
short | 2 বাইট | −32,768 থেকে 32,767 |
signed short | 2 বাইট | −32,768 থেকে 32,767 |
unsigned short | 2 বাইট | 0 থেকে 65,535 |
int | 2 বাইট | −32,768 থেকে 32,767 |
signed int | 2 বাইট | −32,768 থেকে 32,767 |
unsigned int | 2 বাইট | 0 থেকে 65,535 |
short int | 2 বাইট | −32,768 থেকে 32,767 |
signed short int | 2 বাইট | −32,768 থেকে 32,767 |
unsigned short int | 2 বাইট | 0 থেকে 65,535 |
long int | 4 বাইট | -2,147,483,648 থেকে 2,147,483,647 |
signed long int | 4 বাইট | -2,147,483,648 থেকে 2,147,483,647 |
unsigned long int | 4 বাইট | 0 থেকে 4,294,967,295 |
float | 4 বাইট | |
double | 8 বাইট | |
long double | 10 বাইট |