- integer(পুর্নসংখা)
- character(অক্ষর)
- float(দশমিক বা ভগ্নাংশ)
- double(দশমিক বা ভগ্নাংশ কিন্তু এর মেমোরি float টাইপের ডাটার চেয়ে বেশি)
চারটি মৌলিক ডেটা এর জন্য ঘোষিত ভেরিয়েবলের জন্য সংরক্ষিত মেমরি পরিসর, ডেটার প্রকৃতি এবং ধারণ ক্ষমতার একটা সীমাবদ্ধতা রয়েছে। যেমনঃ একটি char টাইপ ভেরিয়েবলের জন্য ৮ বিট বা ১ বাইট জায়গা সংরক্ষণ করে যাতে ০ থেকে ১২৭ মানবিশিষ্ট মোট ১২৮টি ব্যারেক্টারের যে কোন একটি মান রাথা যায়।
এছাড়াও সি তে আরও ৪টি মডিফায়ার আছে।
সেগুলো হলঃ- singed, unsigned, short, long ।
সাধারনত char টাইপ ভেরিয়েবলের জন্য singed ও unsigned মডিফায়ার এবং int টাইপ ভেরিয়েবলের জন্য 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 |
ফরম্যাট স্পেসিফায়ারঃ- printf ( ) ফাংশন দ্বারা কোন ডেটা বা ভেরিয়েবলের মান প্রদর্শনের জন্য নিদির্ষ্ট ফরম্যাটের কতগুলো ক্যারেক্টার ব্যবহৃত হয় যেগুলোকে ফরম্যাট স্পেসিফায়ার বলা হয়। যেমনঃ int টাইপ ডেটা বা ভেরিয়েবলের মান প্রদর্শনের জন্য ফরম্যাট স্পেসিফায়ার হল %i বা %d, char টাইপ ডেটার জন্য %c ইত্যাদি।
ফরম্যাট স্পেসিফায়ার | ব্যবহার |
%c
| Charটাইপ মান ইনপুট/আউটপুট করার জন্য। |
%d
| Integer টাইপ মান ইনপুট/আউটপুট করার জন্য। |
%f
| Float টাইপ মান ইনপুট/আউটপুট করার জন্য। |
%lf
| Double টাইপ মান ইনপুট/আউটপুট করার জন্য। |
%o
| Octal টাইপ মান ইনপুট/আউটপুট করার জন্য। |
ব্যাকস্লাশ ক্যারেক্টারঃ- বিশেষ কিছু ক্যারেক্টার আছে (যেমনঃ- \, \“,\n, \r, \t ইত্যাদি) যেগুলো printf ( ) ফাংশনের ডাবল কোটেশনের (“ ”) এর মধ্যে যেভাবে রাখা হয় , হুবহু সেভাবে ফলাফল প্রকাশ করে না। এখানে কিছু ব্যাকস্লাশ ক্যারেক্টারের বণর্না দেওয়া হলঃ-
ব্যাকস্লাশ ক্যারেক্টার | ব্যবহার |
\n
| আউটপুট পরবর্তী (নতুন) লাইনের শুরুতে প্রদর্শনের জন্য। |
\r
| আউটপুট পূরবর্তী লাইনের শুরুতে একই কলাম বরাবর প্রদর্শনের জন্য। |
\t
| আউটপুট ডান দিকে এক ট্যাব দূরুত্বে প্রদর্শনের জন্য। |
\“
| ডাবল কোটেশন ক্যারেক্টার প্রদর্শনের জন্য। |
\a
| audible alert |
‘\v’
|
vertical tab.
|
‘\b’
|
back space.
|
‘\’’
|
single
quote.
|
‘\f’
|
Form feed.
|
‘\’’’
|
double
quote
|
‘\?’
|
question mark.
|
‘\\’
|
backslash.
|
‘\0’
|
NULL.
|
সাধারনভাবে,গনিতে variable বলতে আমরা বুঝি চলক অর্থাৎ variable এ বিভিন্ন সময় বিভিন্ন মান বা value রাখে।
সহজভাবে বলতে গেলে,
ভেরিয়েবল হল কিছু রাখার পাত্র যেমন-আমরা একটি বাটিতে পানি রাখি,ঝুড়িতে ফল রাখি।
এক্ষেত্রে বাটি,ঝুড়ি হচ্ছে ভেরিয়েবল। আবার আমরা পকেটে টাকা রাখি এটাও একটা ভেরিয়েবল।
অর্থাৎ যার মধ্যে আমরা কিছু রাখি সেটাকে বলছি variable, আর যা রাখছি সেটাকে বলছি data.
যেমনঃ
int a=5; এখানে a হছে variable এবং 5 হচ্ছে data.
ভেরিয়েবল হল মেমরির লোকেশনের নাম বা ঠিকানা। প্রোগ্রামে যখন কোন ডেটা নিয়ে কাজ করা হয়, প্রাথমিক ভাবে সেগুলো কমপিউটারে অবস্থান করে। পরবর্তী সময়ে সেগুলো পুনরুদ্ধার বা পুনব্যবহারের জন্য ঐ নাম বা ঠিকানা জানা প্রয়োজন হয়। সুতরাং প্রোগ্রামে ডেটা নিয়ে কাজ করার সময় প্রতিটি ডেটার জন্য একটি ভেরিয়েবল ব্যবহার করাতে হয়। ভেরিয়েবল ব্যবহার না করে ও প্রোগ্রামে বিভিন্ন ধরনের ডেটা যেমন ক্যারেক্টার, স্ট্রিং, পূর্নসংখ্যা, ভগ্নাংশ তথা দশমিক সংখ্যা সায়েন্টিফিকসংখ্যা তখা এক্সপোনেন্সিয়াল সংখ্যা নিয়ে কাজ করা যায়।
ভেরিয়েবল ঘোষনার নিয়মাবলীঃ
- একই ফাংশনে একই নামে দুই বা ততোধিক ভেরিয়েবল ঘোষণা করা যায় না।
- ভেরিয়েবল নামকরনে কেবল আলফাবেটিক ক্যারেক্টার (a .. z) (A…Z) ডিজিট (০,... ৯) এবং আন্ডারস্কোর(_)ও ডলার চিহৃ ($) ব্যবহার করা যায়। আন্ডারস্কোর ও ডলার চিহৃ ব্যতীত অন্য কোন স্পেশাল ক্যারেক্টার (যেমনঃ !,+,-,% ইত্যাদি ব্যবহার করা যায় না।) যেমনঃ my_car, My$Roll বৈধ, কিন্তু my@car , My&Roll অবৈধ।
- ভেরিয়েবল নামের মধ্যে কোন ফাকা স্থান থাকতে পারে না। যেমনঃ Myname, Myhouse বৈধ, My name, My house অবৈধ।
- ভেরিয়েবলের নাম ডিজিট বা অংক দিয়ে শুরু হতে পারে না।
- সি প্রোগ্রামে বড় হাতের অক্ষর এবং ছোট হাতের অক্ষর আলাদ অর্থ বহন করে। সি প্রোগ্রামে ছোট হাতের অক্ষর ব্যবহার করতে হয় । তবে বিশেষ ক্ষেত্রে বড় হাতের অক্ষর ব্যবহার করা হয়।
- কোন কীওয়ার্ডের নাম ভেরিয়েবল হিসেবে ব্যবহার করা যায় না।
- ভেরিয়েবল নামকরনে যে কোন সংখ্যাক ক্যারেক্টার ব্যবহার করা যায়। তবে ভেরিয়েবলের নাম ৩১ ক্যারেক্টারের মধ্যে হওয়া ভাল।
আমি অনেকক্ষণ বকবক করলাম,এবার তোমাদের একটা প্রশ্ন করি। আচ্ছা, আমরা তো পকেটকে variable বললাম, কারন সেখানে টাকা রেখেছি। আর যেখানে কিছু রাখা যায়, তাকেই আমরা variable বলি,তাহলে এবার তোমরা বল,পকেটে কি পানি রাখা যাবে ?
-নিশ্চয়ই না। আমাদের দৈনন্দিন কাজে আমরা যেমন ভিন্ন ভিন্ন কাজে ভিন্ন পাত্র ব্যবহার করি। তেমনি programming এর বেলায়ও ঠিক তেমনি ভিন্ন ভিন্ন কাজে ভিন্ন ভিন্ন পাত্র বা variable ব্যবহার করব।
১।আস্ত বা পূর্ণ সংখ্যার জন্য আমরা ব্যবহার করব int. একটু আগেই আমি লিখেছিলাম
int a=5; এখানে 5 একটা পূর্ণ সংখ্যা।
যেমনঃ
float a=25.36;
float b=0.0562;
৩.একই ভাবে বর্ণ বা char এর জন্য ব্যবহার করব, char
যেমনঃ char a=’A’ ;
char b=’7’ ;
এখানে দেখ A এবং 7 কে কেমন করে চিপে ধরে রেখেছি দুটি single quotation এর মাঝে ।
এই চিপে ধরার অর্থ এটা একটা character, যেখানেই তোমরা এরকম দেখবে,চিপা চিপি দেখে ভুলে যেয়ো না যে এটা একটা character.
1
| int x; |
1
| char (variable); |
1
| char x; |
1
| float x; |
1
| double x;
|
দেখতো একটি statement এর সাধারন গঠন এই রকম হবে না?
1
| Data Types (Variable); |
1
2
3
4
5
6
7
8
9
| #include int main() { data types variables; printf ( " " ); return 0; } |
এখন নিচের প্রোগ্রামটি কোডব্লকস এ লিখে রান করাওঃ
1
2
3
4
5
6
7
8
9
10
11
12
13
| #include int main() { int x; int y; int total; x = 5; y = 10; total = x+y; printf ( "%d\n" ,total); return 0; } |

- integer ভেরিয়েবল এর জন্য মেমোরি প্রয়োজনঃ ২ বাইটস
- character ভেরিয়েবল এর জন্য মেমোরি প্রয়োজনঃ ১ বাইট
- float ভেরিয়েবল এর জন্য মেমোরি প্রয়োজনঃ ৪ বাইটস
- double ভেরিয়েবল এর জন্য মেমোরি প্রয়োজনঃ ৮ বাইটস
x এর জন্য ২ বাইটস এর জন্য ফাকা মেমোরি রাখবে।


32 bits = 4 bytes (For float Type Variable)
64 bits = 8 bytes (For double Type Variable)
তাই কম্পিউটার x এর মান 5 কে প্রথমে বাইনারী তে কনভার্ট করবেঃ
নিচের ছবিতে দেখো, তাহলে ভালো ভাবে বুঝতে পারবে...


1
| total = x + y; |
1
| total = x + y; |

1
| printf ( "%d\n" ,total); |
1
| printf ( "%d\n" ,total); |
1
2
3
4
5
6
7
8
9
10
11
12
13
| #include int main() { int x; int y; int total; x = 5; y = 10; total = a+b; printf ( "%d\n" ,x); return 0; } |
1
2
3
4
5
6
7
8
9
10
11
12
13
| #include int main() { int x; int y; int total; x = 5; y = 10; total = a+b; printf ( "%d\n" ,y); return 0; } |
1
2
3
4
5
6
7
8
9
| #include int main() { int a; a = 10; printf ( "%d\n" , a); return 0; } |
No comments:
Post a Comment