আমরা পূর্বের পর্বে জেনেছি সি প্রোগ্রামিং এর ক্যারেক্টার সেট, টোকেন, কমেন্টস সহ আরো অনেক কিছু। এই পর্বে আমরা সি প্রোগ্রামিং এর কীওয়ার্ডস, আইডেন্টিফায়ার ও কন্সট্যান্টস নিয়ে বিস্তারিত আলোচনা করব।
কীওয়ার্ডস হচ্ছে এমন কিছু নির্দিষ্ট শব্দগুচ্ছ, যা বিভিন্ন অর্থবোধক শব্দ বুঝানোর জন্য প্রোগ্রামিং এ ব্যবহৃত হয়। প্রোগ্রামিং ল্যাংগুয়েজে সংরক্ষিত এই শব্দগুলোকে কীওয়ার্ডস বলে। প্রোগ্রামার চাইলেই এই শব্দগুলো পরিবর্তন বা তার ইচ্ছামত কাজে ব্যবহার করতে পারেন না। আরো সহজভাবে বলতে গেলে, কীওয়ার্ডসকে কোনোভাবেই ভ্যারিয়েবল, কন্সট্যান্ট, অথবা আইডেন্টিফায়ার হিসেবে কখনই ব্যবহার করতে পারবেন না।
সি প্রোগ্রামিং এ প্রায় ৩২টি কীওয়ার্ড রয়েছে-
| | | | | | |
auto | break | case | char | const | continue | default |
do | double | else | enum | extern | float | for |
goto | if | int | long | register | return | short |
signed | sizeof | static | struct | switch | typedef | union |
unsigned | void | volatile | while | | | |
কীওয়ার্ডস নিয়ে আরো বিস্তারিত জানতে এই লিংকে যেতে পারেন।
সি প্রোগ্রামে ব্যবহৃত ভ্যারিয়েবল, ফাংশন, অ্যারে, পয়েন্টার, স্ট্রাকচার ইত্যাদিকে আইডেন্টিফাই বা পরিচিত করার জন্য যে সকল নাম বা শব্দ ব্যবহার করা হয় তাকে আইডেনটিফায়ার বলে অর্থাৎ সি প্রোগ্রামের সুনির্দিষ্ট কী-ওয়ার্ড ব্যতীত যে সমস্ত শব্দ ব্যবহার করা হয় তাই আইডেন্টিফায়ার। উদাহরণ স্বরূপ-
int id;char name;double number;
এখানে id, name, number হচ্ছে আইডেন্টিফায়ার। তবে আমরা কিন্তু কখনই int, char, double কে আইডেন্টিফায়ার হিসেবে নিতে পারবো না কারন এইগুলো সি প্রোগ্রামিং এর রিজার্ভ কিওয়ার্ড।
সঠিক আইডেনটিফায়ারের জন্য নিচের নিয়মগুলো লক্ষ্য করুনঃ
১. আইডেনটিফায়ারের প্রথম স্থানটি অবশ্যই অক্ষর দিয়ে শুরু করতে হবে, পরের স্থানটি সংখ্যা বা অক্ষর হতে পারে। ২. আইডেনটিফায়ারে লেটার(a-z), নাম্বার(0-1) ও আন্ডারস্কোর(_) ছাড়া অন্য কিছু থাকবে না। ৩. আইডেনটিফায়ার লেটার, আন্ডারস্কোর, ডলার সাইন দিয়ে শুরু হতে পারে। যেমনঃ bangladesh, $dollar, _taka ইত্যাদি। ৪. জাভা ইউনিকোডের উপর তৈরী বিধায়, স্ট্যান্ডার্ড আইডেনটিফায়ার যেকোনো ভাষা হতে পারে যেমন Bengali, Arabic, Hindi, Thai ইত্যাদি। ৫. জাভা আইডেনটিফায়ার Case sensitive অর্থাৎ Sum আর sum দুটো আলাদা আলাদা আইডেনটিফায়ার। ৬. আইডেনটিফায়ারের নাম হিসেবে কোনো কী-ওয়ার্ড ব্যবহার করা যাবে না। যেমনঃ class, main, string, if, else, default ইত্যাদি ইত্যাদি। ৭. আইডেনটিফায়ারের নামের মাঝে কোনো ফাঁকা জায়গা বা স্পেস থাকতে পারবে না।
আপনাদের বুঝার সুবিধার্থে, কিছু সঠিক ও ভুল আইডেনটিফায়ার তুলে ধরা হলঃ
সঠিক আইডেনটিফায়ার | ভুল আইডেনটিফায়ার |
myvariable | My variable |
name | 50$ |
_variable | $500 |
_5taka | 9pins |
this_is_variable | a+b |
total123 | black & white |
www_techsajib_com | www.techsajib.com |
তবে আমরা যখন প্রফেশনাল কোডে যাবো, তখন আমাদেরকে অবশ্যই আইডেনটিফায়ার গুলোকে একটি অর্থবোধক নামে সংজ্ঞায়িত করা জরুরী। এতে কোড সহজেই বুঝা যায় ও কাজ করার সময় বিশেষ সুবিধা পাওয়া যায়, যেটা আপনি যখন কোড করবেন তখন বুঝতে পারবেন।
কন্সট্যান্ট বা ধ্রুবক মানে হচ্ছে ফিক্সড ভ্যালু। অর্থাৎ সি প্রোগ্রামে আমরা যদি এমন কোনো ভেরিয়েবল সংজ্ঞায়িত করতে চাই যার মান কখনো পরিবর্তন হয় না, তখন আমরা কন্সট্যান্ট বা ধ্রুবক ব্যবহার করি। এর জন্য আমরা const কীওয়ার্ডটি ব্যবহার করি। সি প্রোগ্রামিং এ কয়েক ধরনের কন্সট্যান্ট রয়েছে-
Constant | Example | Type of value stored |
Integer Constant | 5, 50, 150 etc. | যে সকল কন্সট্যান্ট Integer ভ্যালু স্টোর করে। |
Floating Constant | 15.3, 59.9, 100.5 etc. | যে সকল কন্সট্যান্ট floating ভ্যালু স্টোর করে। |
Octal Constant | 021, 044, 049 etc. | যে সকল কন্সট্যান্ট Octal ভ্যালু স্টোর করে। |
Hexadecimal Constant | 0x3a, 0x5b, 0xab etc. | যে সকল কন্সট্যান্ট Hexadecimal ভ্যালু স্টোর করে। |
Character Constant | 'p' 'a' 'l' etc. | যে সকল কন্সট্যান্ট Character ভ্যালু স্টোর করে। |
String Constant | "C program" "techsajib.com" etc. | যে সকল কন্সট্যান্ট String ভ্যালু স্টোর করে। |
কন্সট্যান্টস ডিক্লারেশন
সি প্রোগ্রামিং এ দুই ভাবে কন্সট্যান্টস ডিক্লেয়ার করা যায়-
const keyword ব্যবহার করে
#define প্রি-প্রসেসর ব্যবহার করে
const কিওয়ার্ড ব্যবহার করে কন্সট্যান্ট ডিক্লেয়ার করার সিন্টেক্স-
const datatype variable = value;
Example:
const double PI = 3.14;
লক্ষ্য করুন, এখানে const কীওয়ার্ড আর PI একটি প্রতীকী ধ্রুবক; এর মান কখনও পরিবর্তন করা যায় না। অর্থাৎ আপনি কখনই PI variable এর ভ্যালু পরিবর্তন করতে পারবেন না। নিচের কোড গুলো লক্ষ্য করুন-
#include<stdio.h>int main(){const float PI=3.1416;printf("PI value is: %f",PI);return 0;}
এখন আপনি যদি PI এর মান পরিবর্তন করতে চান, তাহলে এটি কম্পাইল করলে time error দেখাবে। যেমন-
#include<stdio.h>int main(){const float PI=3.1416;PI=4.5;printf("PI value is: %f",PI);return 0;}
Output:
Compile Time Error: Cannot modify a const object
কন্সট্যান্টকে সাধারনত বড় হাতের অক্ষরে লিখা হয়। তবে এটাতে তেমন ধরা-বাধা নিয়ম নেই, এইভাবে লেখাকে ‘Good Practice’ হিসেবে ধরা হয়।
#define প্রি-প্রসেসর ব্যবহার করে কন্সট্যান্ট ডিক্লেয়ার করার সিন্টেক্স-
#define identifier value
Example:
#define PI 3.1416
#define প্রি-প্রসেসর এর একটি কন্সট্যান্ট ডিক্লেয়ার এর উদাহরণ নিচে দেওয়া হল-
#include<stdio.h>#define PI 3.1416int main(){printf("PI value is: %f",PI);return 0;}
#define প্রি-প্রসেসর এর আরেকটি উদাহরণ দেখি-
#include <stdio.h>#define PI 3.1416int main(){//declare float type variablefloat radius, area;//at first, it will show "Enter the radius: "printf("Enter the radius: ");//take radius value from the keyboardscanf("%f", &radius);//calculate total area using PI & radius valuearea = PI*radius*radius;//print total Areaprintf("Area = %.2f",area);return 0;}