C – Constants and Literals. সি প্রোগ্রামিঙে লিটারেল ও ধ্রুবক

সি প্রোগ্রামিঙে লিটারেল ও ধ্রুবক

রিদওয়ান বিন শামীম

 

ধ্রুবকের মান কোন প্রোগ্রামে সব সময়েই একই থাকে, একে লিটারেলও বলে। ধ্রুবক যে কোন মৌলিক ডাটা টাইপের হতে পারে যেমন পূর্ণ সংখ্যা ধ্রুবক, ফ্লোটিং ধ্রুবক, ক্যারেকটার ধ্রুবক, স্ট্রিং ধ্রুবক ইত্যাদি। এগুলো সাংখ্যিক ধ্রুবকও হতে পারে। ধ্রুবক অন্যান্য চলকের মতই ব্যবহৃত হয় কেবল ধ্রুবক হিসেবে সংজ্ঞায়িত হওয়ার পর এদের মানের কোন পরিবর্তন হবে না।
পূর্ণসংখ্যা ধ্রুবকঃ পূর্ণ সংখ্যা ধ্রুবক দশমিক, অকট্যাল, হেক্সাডেসিমেল ইত্যাদি রকমের হতে পারে। এক্ষেত্রে উপসর্গ ভিত্তি নিশ্চিত করে, হেক্সাডেসিমেলের জন্য 0x অথবা 0X , অকট্যালের জন্য 0, এবং দশমিকের জন্য কিছুই না। পূর্ণ সংখ্যা ধ্রুবকে সাফিক্সও থাকতে পারে যা মূলত U ও L এর সমন্বয় যা unsigned ও long নির্দেশ করে, সাফিক্স ছোট হাতের বা বড় হাতের, এবং যেকোনভাবে সজ্জিত হতে পারে।পূর্ণসংখ্যা ধ্রুবকের কয়েকটি উদাহরণ

212 /* Legal */
215u /* Legal */
0xFeeL /* Legal */
078 /* Illegal: 8 is not an octal digit */
032UU /* Illegal: cannot repeat a suffix */
আরও কয়েকটি ধরনের পূর্ণসংখ্যা ধ্রুবক হল,
85 /* decimal */
0213 /* octal */
0x4b /* hexadecimal */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */

ফ্লোটিং ধ্রুবকঃ ফ্লোটিং ধ্রুবকে পূর্ণসংখ্যা অংশ,দশমিক অংশ, ভগ্নাংশ ও সূচক অংশ থাকে, এদেরকে সূচক বা দশমিক যেকোনো আকারে প্রকাশ করা যায়। দশমিক আকারে প্রকাশ করার সময় দশমিক বা সূচক, বা উভয়ই অন্তর্ভুক্ত করতে হবে, সূচক আকারে প্রকাশ করার সময় পূর্ণসংখ্যা বা ভগ্নাংশ, অথবা উভয়ই অন্তর্ভুক্ত করতে হবে। এই সূচক বা signed exponent কে e বা E দ্বারা প্রকাশ করা হয়। ফ্লোটিং ধ্রুবকের কয়েকটি উদাহরণ নিচে দেয়া হল।
3.14159 /* Legal */
314159E-5L /* Legal */
510E /* Illegal: incomplete exponent */
210f /* Illegal: no decimal or exponent */
.e55 /* Illegal: missing integer or fraction */

ক্যারেকটার ধ্রুবকঃ ক্যারেকটার ধ্রুবক সিঙ্গেল কোটের মধ্যে 'x' দ্বারা বোঝানো হয়,সাধারণ চলক রুপে
char type এ অন্তর্ভুক্ত হয়ে থাকে। ক্যারেকটার ধ্রুবক plain character (যেমন 'x'),escape sequence (যেমন '\t'), অথবা universal character (যেমন'\u02C0')হতে পারে। সি প্রোগ্রামিঙে কিছু নির্দিষ্ট ক্যারেকটার আছে যা backslash ব্যবহার করে প্রকাশ করা হয়, যারা ভিন্ন অর্থ প্রকাশ করে থাকে যেমন newline (\n) অথবা tab (\t)ইত্যাদি। এরকম কিছু escape sequence codes নিচে দেয়া হল।
Escape sequence Meaning
\\ \ character
\' ' character
\" " character
\? ? character
\a Alert or bell
\b Backspace
\f Form feed
\n Newline
\r Carriage return
\t Horizontal tab
\v Vertical tab
\ooo Octal number of one to three digits
\xhh . . . Hexadecimal number of one or more digits

escape sequence ক্যারেকটারের কিছু উদাহরণ দেয়া যাক,
#include <stdio.h>

int main()
{
printf("Hello\tWorld\n\n");

return 0;
}
কোডগুলো সঠিকভাবে লিখা হলে তা যে ফল দেখাবে তা হল,
Hello World

স্ট্রিং ধ্রুবকঃ স্ট্রিং ধ্রুবককে ডবল কোটের("") মাধ্যমে প্রকাশ করা হয়,এর ভিতরে সেই সব ক্যারেকটার রাখা হয় যারা মূলত ক্যারেকটার ধ্রুবকের সাথে সাদৃশ্যপূর্ণ, যেমন plain characters, escape sequences, এবং universal characters। স্ট্রিং ধ্রুবক ব্যবহার করে লম্বা লাইনকে ছোট ছোট লাইনে পরিনত করা যায়, এবং খালি জায়গা ব্যবহার করে এদের পৃথক করতে হয়। একই ধরনের তিনটি স্ট্রিং ধ্রুবক উদাহরণে দেখানো হল।
"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"
ধ্রুবক নির্দেশ করাঃ সি প্রোগ্রামিঙে দুটি সাধারণ উপায়ে ধ্রুবক নির্দেশ করা হয়, #define preprocessor ব্যবহার করে ও const keyword ব্যবহার করে।
#define preprocessor ব্যবহারঃ নিচের ফরমেটে এটি করা হয়,
#define identifier value
নিচের উদাহরণ দিয়ে বোঝানো যাক,
#include <stdio.h>

#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'

int main()
{

int area;

area = LENGTH * WIDTH;
printf("value of area : %d", area);
printf("%c", NEWLINE);

return 0;
}
কোড ঠিকভাবে লেখা হলে ফলাফল আসবে,
value of area : 50

const keyword ব্যবহারঃ নির্দিষ্ট রকমের ধ্রুবক নির্দেশ করতে const prefix ব্যবহার করা হয়, const type variable = value;
নিচে একটি উদাহরণ দিয়ে বোঝানো যাক,
#include <stdio.h>

int main()
{
const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE = '\n';
int area;

area = LENGTH * WIDTH;
printf("value of area : %d", area);
printf("%c", NEWLINE);

return 0;
}

কোড ঠিকভাবে লেখা হলে ফলাফল আসবে,
value of area : 50
ধ্রুবককে বড় হাতের অক্ষর দ্বারা প্রকাশ করা প্রোগ্রামিঙের ক্ষেত্রে একটি ভাল চর্চা।

Permanent link to this article: http://bangla.sitestree.com/c-constants-and-literals/