সি প্রোগ্রামিং কনস্ট্যান্ট | C Programming constant
সি প্রোগ্রামিং কনস্ট্যান্ট(constant) এবং লিটারেল
কনস্ট্যান্ট হলো ভ্যালু বা আইডেন্টিফায়ার। প্রোগ্রাম সম্পাদনের সময় যার ভ্যালু পরিবর্তন হয় না। উদাহরনস্বরুপঃ "SATT Academy", 1, 2 ইত্যাদি।
তাহলে আমরা দেখলাম যে, আইডেন্টিফায়ারকে কনস্ট্যান্ট হিসাবেও ডিফাইন্ড করা যায়।
const double PI = 3.14
এখানে PI একটি কনস্ট্যান্ট যার অর্থ এই প্রোগ্রামে PI এবং 3.14 একই।
সি প্রোগ্রামিং এ ব্যবহৃত বিভিন্ন ধরণের কনস্ট্যান্ট এবং তাদের বর্ণনা নিম্নে তুলে ধরা হলোঃ
সি প্রোগ্রামিং ক্যারেক্টার কনস্ট্যান্ট
ক্যারেক্টার কনস্ট্যান্ট(character constant) হলো সিঙ্গেল ক্যারেক্টার বিশিষ্ট্য কনস্ট্যান্ট যা সিঙ্গেল কোটেশন(' ') দিয়ে ঘেরা থাকে। উদাহরনস্বরুপঃ 'a', 'M', 'T', 's' ইত্যাদি
সি প্রোগ্রামিং ইন্টেজার কনস্ট্যান্ট
Integer এর বাংলা অর্থ পূর্ণসংখ্যা।
ইন্টেজার কনস্ট্যান্ট(integer constant) হলো দশমিক এবং সূচক অংশ ব্যতীত গাণিতিক পূর্ণ সংখ্যা বিশিষ্ট কনস্ট্যান্ট বা ধ্রুবক। সি প্রোগ্রামিং এ তিন ধরণের ইন্টেজার কনস্ট্যান্ট রয়েছেঃ
- ডেসিমাল কনস্ট্যান্ট-decimal constant(১০ ভিত্তিক কনস্ট্যান্ট)
- অক্ট্যাল কনস্ট্যান্ট-octal constant(৮ ভিত্তিক কনস্ট্যান্ট)
- হেক্সাডেসিমাল কনস্ট্যান্ট- hexadecimal constant(১৬ ভিত্তিক কনস্ট্যান্ট)
উদাহরণস্বরূপঃ
৮ ভিত্তিক কনস্ট্যান্টঃ 070, 055, 099 ইত্যাদি ১০ ভিত্তিক কনস্ট্যান্টঃ 0, 20, 100 ইত্যাদি ১৬ ভিত্তিক কনস্ট্যান্টঃ 0x7f, 0x2a, 0x521 etc
সি প্রোগ্রামিং এ অক্ট্যাল কনস্ট্যান্ট শুরু হয় 0(zero) দিয়ে এবং হেক্সাডেসিমাল কনস্ট্যান্ট শুরু হয় 0x দিয়ে।
সি প্রোগ্রামিং ফ্লোটিং পয়েন্ট কনস্ট্যান্ট
floating point এর বাংলা অর্থ দশমিক(.) সংখ্যা।
ফ্লোটিং পয়েন্ট কনস্ট্যান্ট(floating point constant) হলো দশমিক এবং সূচক অংশ যুক্ত গাণিতিক কনস্ট্যান্ট।
10.05 0.03487 -0.15E-4
নোটঃ E-4 = 10-4
সি প্রোগ্রামিং স্পেইপ সিকুয়েন্স
মাঝে মাঝে এমন কিছু ক্যারেক্টার ব্যবহার করতে হয় যেগুলো টাইপ করা যাইনা অথবা সি প্রোগ্রামিং এ বিশেষ অর্থ বহন করে। যেমন- backspace, tab, backslash ইত্যাদি। এগুলো ব্যবহার করতে হলে স্কেইপ সিকুয়েন্স(escape sequence) ব্যবহার করতে হয়।
উদাহরণস্বরূপঃ নতুন লাইন(Newline) এর জন্য \n
ব্যবহৃত হয়। ব্যাকস্পেস(Backspace) এর জন্য \b
ব্যবহৃত হয়।
স্কেইপ সিকুয়েন্স | নাম |
---|---|
\b | Backspace |
\f | Form feed |
\n | Newline |
\r | Return |
\t | Horizontal tab |
\v | Vertical tab |
\\ | Backslash |
\' | Single quotation mark |
\" | Double quotation mark |
\? | Question mark |
\0 | Null character |
সি প্রোগ্রামিং স্ট্রিং কনস্ট্যান্ট
স্ট্রিং কনস্ট্যান্ট(String constant) হলো কনস্ট্যান্ট যা ডাবল কোটেশন(" ") দিয়ে ঘেরা থাকে। উদাহরনস্বরুপঃ
"" //null স্ট্রিং কনস্ট্যান্ট
"SATT" //স্ট্রিং কনস্ট্যান্ট
" " //৫ টি ফাঁকা স্পেস বিশিষ্ট স্ট্রিং কনস্ট্যান্ট
"t" //সিঙ্গেল ক্যারেক্টার বিশিষ্ট স্ট্রিং কনস্ট্যান্ট
"Love is heaven\n" //একটি নতুন লাইনসহ স্ট্রিং প্রিন্ট করবে
সি প্রোগ্রামিং ইনুমিরেশন কনস্ট্যান্ট
enum কীওয়ার্ড দিয়ে ইনিউমিরেশন টাইপ ডিফাইন্ড( defined) করা হয়। উদাহরণস্বরূপঃ
enum color {teal, green, orange, white};
এখানে color একটি ভ্যারিয়েবল এবং purple, green, black ও white হলো ইনিউমিরেশন কনস্ট্যান্ট(Enumeration constants) যাদের ভ্যালু যথাক্রমে 0, 1, 2 এবং 3 । ইনিউমিরেশন সম্মন্ধে আরো জানতে আমাদের সি ইনুমিরেশন অধ্যায় ভিজিট করুন।
সি প্রোগ্রামে কনস্ট্যান্ট ডিফাইন করা
সি প্রোগ্রামে কনস্ট্যান্ট ডিফাইন করার জন্য দুটি সাধারণ পদ্ধতি রয়েছে।
- const কীওয়ার্ড ব্যবহার করে
- #define প্রিপ্রোসেসর ব্যবহার করে
সি প্রোগ্রামিং const কীওয়ার্ড
একটি নির্দিষ্ট টাইপের কনস্ট্যান্ট ডিক্লেয়ার করার জন্য আপনি const কীওয়ার্ডকে প্রিফিক্স(prefix) হিসাবে ব্যবহার করতে পারেন।
সিনট্যাক্স
const type variable = value;
উদাহরনঃ নিচের উদাহরণে const কীওয়ার্ডের ব্যবহার দেখানো হলোঃ
#include <stdio.h>
int main() {
const char NEWLINE = '\n';
const int LENGTH = 5;
const int WIDTH = 4;
int area;
area = LENGTH * WIDTH;
printf("Total area: %d", area);
printf("%c", NEWLINE);
return 0;
}
উপরের প্রোগ্রামটি যখন কম্পাইল এবং এক্সিকিউট করা হবে তখন ইহা নিচের মত আউটপুট দেখাবেঃ
আউটপুট
Total area : 20
সি প্রোগ্রামিং #define প্রিপ্রোসেসর
আপনি #define প্রিপ্রোসেসর ব্যবহার করেও কনস্ট্যান্ট ডিফাইন(define) করতে পারেন।
সিনট্যাক্স
#define identifier value
উদাহরনঃ নিচের উদাহরণে #define প্রিপ্রোসেসর এর ব্যবহার দেখানো হলোঃ
#include <stdio.h>
#define NEWLINE '\n'
#define LENGTH 5
#define WIDTH 4
int main() {
int area;
area = LENGTH * WIDTH;
printf("Total area : %d", area);
printf("%c", NEWLINE);
return 0;
}
উপরের প্রোগ্রামটি যখন কম্পাইল এবং এক্সিকিউট করা হবে তখন ইহা নিচের মত আউটপুট দেখাবেঃ
আউটপুট
Total area : 20