সি কন্সট্যান্টস্ কি? কন্সট্যান্টস্ কত প্রকার ও কি কি? কন্সট্যান্ট নির্ধারণ- What is Constant? Types and Defines of constant in C programming Bangla Tutorial -08

আজকের টিউটোরিয়ালে আলোচনা করবো সি প্রোগ্রামিংয়ের কন্সট্যান্টস্ কি? কন্সট্যান্টস্ কত প্রকার ও কি কি? কন্সট্যান্ট নির্ধারণ এর উপায়।


কন্সট্যান্টস্ (constants):
কন্সট্যান্টস্ হচ্ছে একটা নির্দিষ্ট মান যেটা একটা প্রোগ্রাম চলাকালীন সময়ে কখনই পরিবর্তিত হয় না। আর এই সব নির্দিষ্ট মানগুলোকে বলে লিটেরালস্ (literals)। কন্সট্যান্ট যেকোন বেসিক ডাটা টাইপের-ই হতে পারে যেমন –
     ১। ইন্টিজার কন্সট্যান্ট (integer constant)
     ২। ফ্লোটিং কন্সট্যান্ট (floating constant)
     ৩। ক্যারেক্টার কন্সট্যান্ট (character constant)
     ৪। ইনুমেরেটেড কন্সট্যান্ট (enumerated constant)

কন্সট্যান্টগুলো রেগুলার ভেরিয়েবলের মতই কাজ করে। তবে তাদের মান একবার নির্ধারণ করা হয়ে গেলে আর পরিবর্তন করা যায় না।

ইন্টিজার লিটেরালস্ (integer literals):
একটা ইন্টিজার লিটেরাল হতে পারে একটা ডেসিমাল, অক্টাল অথবা হেক্সাডেসিমাল কন্সট্যান্ট।
লিটেরাল গুলোর প্রথম ডিজিটটির উপর নির্ভর করে যে এটা কোন টাইপের হবে। যেমন –
     ১। 0x বা 0X দ্বারা হেক্সাডেসিমাল বোঝায়।
     ২। 0 দ্বারা অক্টাল বোঝায়।
     ৩। আর কিছু না থাকলে ডেসিমাল বোঝায়।
কিছু ইন্টিজার টাইপের লিটেরালের উদারহণ হলোঃ

     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 */
ফ্লোটিং-পয়েন্ট লিটেরালস্ (Floating point literals): একটা ফ্লোটিং-পয়েন্ট লিটেরালের একটা ইন্টিজার পার্ট, একটা ডেসিমাল পয়েন্ট, একটা ভগ্নাংশ পার্ট এবং একটা এক্সপোনেন্ট (exponent) পার্ট বা অংশ থাকে।
একটা ফ্লোটিং-পয়েন্ট লিটেরালকে হয় ডেসিমাল নয়ত এক্সপোনেন্ট আকারে প্রকাশ করা যায়। ফ্লোটিং-পয়েন্ট লিটেরালস্ এর কিছু উদাহরণ হলোঃ

       3.14159 /* Legal */
          314159E-5L /* Legal */
          510E         /* Illegal: incomplete exponent */
          210f /* Illegal: no decimal or exponent */ .
          e55         /* Illegal: missing integer or fraction */
  
ক্যারেক্টার কন্সট্যান্টস্ (character constants):
ক্যরেক্টার লিটেরাল গুলো সিঙ্গেল কোট (single quote) এর মাঝে লেখা হয়। যেমন – ‘A’ লেটারকে আমরা ক্যারেক্টার টাইপের একটা ভেরিয়েবলের মাঝে সেভ করে রাখতে পারি।
একটা ক্যারেক্টার লিটেরাল হতে পারে একটা সাধারণ ক্যারেক্টার (e.g: ‘x’), একটা স্কেপ সিকুয়েন্স (escape sequence) (e.g: ‘ ’) অথবা একটা ইউনিভার্সাল ক্যারেক্টার (e.g: ‘u02C0’)

শুরুতে ব্যাকশ্ল্যাস (backslash) যুক্ত কিছু স্পেশাল ক্যারেক্টার আছে যেগুলোর সি-প্রোগ্রামিং এর ক্ষেত্রে স্পেশাল অর্থ আছে। যেমন – নতুন লাইন বোঝাতে  \n ব্যবহৃত হয়।

ইনুমেরেটেড কন্সট্যান্ট (enumerated constant) :
সি প্রোগ্রামিং এ enumeration হলো ইউজার ডিফাইন্ড ডেটা টাইপ(user-defined data type) যা অখণ্ড পূর্ণসংখ্যা(integral constants) নিয়ে গঠিত হয়। ইনুমেরেশন(enumeration) ডিফাইন্ড করার জন্য enum কীওয়ার্ড ব্যবহৃত হয়।


   enum flag { constant1, constant2,.........,constantN };   
এখানে flag হলো ইউজার ডিফাইন্ড ডেটা টাইপ
এবং  constant1constant2,...., constantN হলো flag টাইপের ভ্যালু।
ডিফল্টভাবে constant1  এর ভ্যালু 0, constant2  এর ভালু 1 এবং এভাবে চলতে থাকবে। আপনার প্রয়োজনে আপনি enum এলিমেন্টের ডিফল্ট ভ্যালু পরিবর্তন করতে পারেন।
অর্থাৎ আপনি চাইলে enum এলিমেন্টের ইন্ডেক্স পরিবর্তন করতে পারেন।

//  enum এর ডিফল্ট ভ্যালু পরিবর্তন
enum color {
    red = 0,
    green = 3,
    black = 5,
    white = 3,


};
কন্সট্যান্ট নির্ধারণ (Defining constants):
সি প্রোগ্রামিং এ দুই উপায়ে কন্সট্যান্ট নির্ধারণ করা যায় –
     ১। #define প্রি-প্রসেসর ব্যবহার করে
     ২। const কী-ওয়ার্ড ব্যবহার করে

#define প্রি-প্রসেসরঃ
#define প্রি-প্রসেসর ব্যবহার করে কন্সট্যান্ট নির্ধারণ করার জন্য নিচের ফরম্যাট ব্যবহার করা হয়ঃ

   #define identifier value

#define প্রি-প্রসেসরের একটা উদাহরণ নিচে দেওয়া হলো –


   
#include <stdio.h>
#define LENGTH 10
#define WIDTH 5
#define NEWLINE ' '
int main()
{
      int area;
      area = LENGTH * WIDTH;
      printf("value of area : %d", area);
    printf("%c", NEWLINE);
      return 0;
 }
Output:
   Value of area : 50

কন্সট্যান্ট কী-ওয়ার্ড (const keyword):
কন্সট্যান্ট কী-ওয়ার্ড ব্যবহার করে কন্সট্যান্ট নির্ধারণ করার জন্য নিচের ফরম্যাট ব্যবহার করা হয়ঃ

   const type variable = value;

কন্সট্যান্ট কী-ওয়ার্ডের একটা উদাহরণ নিচে দেওয়া হলোঃ

   
#include <stdio.h>
int main()
{
      const int LENGTH = 10;
      const int WIDTH = 5;
      const char NEWLINE = ' ';
      int area; area = LENGTH * WIDTH;
      printf("value of area : %d", area);
    printf("%c", NEWLINE);
      return 0;

}

Output:
 Value of area : 50    

Previous Topic:
সি অপারেটর এবং অপারেন্ড (C Operator & Operand), অপারেটর প্রাধান্য টেবিল(Precedence of Operators in C) -07

Next Topic :
সি-স্টোরেজ ক্লাসেস ও প্রকারভেদ ~ C-Storage Classes & Types of Storage class in Bangla Tutorial - 09


0 Response to সি কন্সট্যান্টস্ কি? কন্সট্যান্টস্ কত প্রকার ও কি কি? কন্সট্যান্ট নির্ধারণ- What is Constant? Types and Defines of constant in C programming Bangla Tutorial -08

Post a Comment