ভেরিয়েবলস্ (Variables)কি?ভেরিয়েবলস্ (Variables) এর প্রকারভেদ,ভেরিয়েবল নির্ধারণের নিয়ম - C Programming in Bangla Tutorial-06

ভেরিয়েবলস্ (Variables)কি?ভেরিয়েবলস্ (Variables) এর প্রকারভেদ,ভেরিয়েবল নির্ধারণের নিয়ম - C Programming in Bangla Tutorial-06 

ভেরিয়েবলস্ (Variables):
ভেরিয়েবলস্ হচ্ছে আমাদের লেখা প্রোগ্রামের জন্য ব্যবহার করা যাবে, এমন মেমরী (Memory) স্টোরেজকে (Storage) নির্ধারিত করে দেওয়া একটি নাম।
Variables in C programming Bangla
Variables in C programming Bangla   

ভেরিয়েবলের মান (value) পরিবর্তিত হতে পারে এবং একটা ভেরিয়েবল একই প্রোগ্রামে অনেকবার ব্যবহার করা যেতে পারে। একটা ভেরিয়েবল তৈরি করে একটা নামের সাহায্যে কম্পিউটারের কোন মেমরীকে সহজেই নির্দেশ করা যায়। এর ফলে সেই মেমরী নিয়ে কাজ করা সহজ হয়ে যায়।
এখন একটা ভেরিয়েবল তৈরির সিন্ট্যাক্স (syntax) দেখা যাক –
type variable_list; 
এখন একটা ভেরিয়েবল তৈরির উদাহরণ দেখা যাক -
  1.    int a;
       float b;
       char c;
         
এখানে a, b, c হচ্ছে যথাক্রমে integer, float এবং character টাইপ ভেরিয়েবল।
আমরা ভেরিয়েবল উল্লেখ করে দেবার সময় তার মানও নির্ধারণ করে দিতে পারি। যেমন –
  int a = 10, b=20;
  float f = 12.8;
  char c = ‘A’;

ভেরিয়েবলের প্রকারভেদ(Types of Variable): 
সি – তে বিভিন্ন টাইপের ভেরিয়েবল আছে। যেমন –
     ১। লোকাল ভেরিয়েবল (local variable)
     ২। গ্লোবাল ভেরিয়েবল (global variable)
     ৩। স্ট্যাটিক ভেরিয়েবল (static variable)
     ৪। অটোমেটিক ভেরিয়েবল (automatic variable)
     ৫। এক্সটার্ন ভেরিয়েবল (extern variable)

লোকাল ভেরিয়েবল (local variable):
যে ভেরিয়েবল কোন ফাংশন (function) কিংবা ব্লকের মাঝে নির্ধারণ (declare) করে দেওয়া হয়, তাকে লোকাল ভেরিয়েবল (local variable) বলে। এটা অবশ্যই ব্লকের শুরুতেই নির্ধারণ করে দিতে হবে –
 দেখা যাক –
#include<stdio.h>
int main()
{
     int x =10; // local variable
     printf("%d", x); return 0;
}

Output: 10


গ্লোবাল ভেরিয়েবল (global variable):
যে ভেরিয়েবল কোন ফাংশন (function) কিংবা ব্লকের বাইরে নির্ধারণ (declare) করে দেওয়া হয়, তাকে গ্লোবাল ভেরিয়েবল (global variable) বলে।
     যেকোন ফাংশন থেকেই গ্লোবাল ভেরিয়েবলকে এক্সেস (access) করা যায় এবং গ্লোবাল ভেরিয়েবলের মান যেকোন ফাংশনের মধ্যে-ই পরিবর্তন করা যায় –

 #include<stdio.h>
int num = 20; //global variable
int main()
{
     int x =10; // local variable
     printf("%d", num);
     return 0;
}

Output: 20

স্ট্যাটিক ভেরিয়েবল (static variable):
যে ভেরিয়েবল স্ট্যাটিক কী-ওয়ার্ড (keyword) দিয়ে নির্ধারণ করা হয়, তাকে স্ট্যাটিক ভেরিয়েবল বলে।

#include<stdio.h>
int increment()
{
     static int num = 1; //static variable
     num++;
     return num;
}
int main()
{
     int x =10, f_incr, s_incr; // local variable
     f_incr = increment(); //function call
     printf("%d ", f_incr);
     s_incr = increment(); //function call
     printf("%d ", s_incr);
     return 0;
}
Output: 2 3

উপরের সোর্স কোডটি বিশ্লেষণ করলে দেখা যাবে যে, প্রথমবার increment() ফাংশনকে কল করার সময় int num = 1 দ্বারা পূর্ণসংখ্যা টাইপের একটি ভেরিয়েবল নির্ধারণ করা হয় যার মান হল ১। num ভেরিয়েবল যেহেতু স্ট্যাটিক হিসেবে বলে দেওয়া হয়েছে, সেহেতু প্রতিবার increment() ফাংশন কল করার সময় আর নতুন করে num ভেরিয়েবলের মান ১ নির্ধারিত হবে না। বরং, গত ফাংশন কলের পরে num ভেরিয়েবলের পরিবর্তিত মান-টিই থেকে যাবে। তাই প্রথমবার increment() ফাংশন কলের পরে num ভেরিয়েবলের মান হয়েছে ২। এরপর আবার কল করার পরে এটি হয়েছে ৩। num ভেরিয়েবল স্ট্যাটিক হিসেবে বলে দেওয়া না হলে কিন্তু এমনটা হতো না।

অটোমেটিক ভেরিয়েবল (automatic variable):
যেসকল ভেরিয়েবল একটা ব্লকের মধ্যে নির্ধারণ করা হয়, তাদেরকে অটোমেটিক ভেরিয়েবল বলে। সি-প্রোগ্রামিং এর নিয়ম অনুযায়ী সমস্ত লোকাল ভেরিয়েবল নিজে থেকেই আটোমেটিক হয়ে থাকে। তাই ভেরিয়েবল নির্ধারণ করার সময় auto কী-ওয়ার্ড লিখলেও চলে, না লিখলেও চলে –

#include<stdio.h>
int main()
{
     int x =10; // local variable (also automatic)
     auto int y = 20; //automatic variable
     printf("%d", y);
     return 0;
}

Output: 20




এক্সটার্নাল ভেরিয়েবল (external variable):
একটা সফ্টওয়্যারের প্রোগ্রামগুলো সাধারণত অনেকগুলো সোর্স ফাইলে লেখা হয়। ধরাযাক, একটা সোর্স ফাইলের প্রোগ্রামে নির্ধারিত কোন ভেরিয়েবল অন্য একটা সোর্স ফাইলের প্রোগ্রামে ব্যবহার করার প্রয়োজন পড়ল। তখন প্রথম সোর্স ফাইলে ভেরিয়েবলটি নির্ধারণ করার সময় আমরা extern কী-ওয়ার্ড ব্যবহার করবো যাতে করে সেই ভেরিয়েবলটা পরে অন্য কোন ফাইলে ব্যবহার করা যায়।

myfile.c
extern int x=10; //external variable (also global)
main_program.c
#include "myfile.h"
#include <stdio.h>
void printValue ()
{
     printf("External variable: %d", x);
}

Output: 10
ভেরিয়েবল নির্ধারণের নিয়ম:
  • একটি ভেরিয়েবলের  নামে Alphabets, Digits, and Underscore থাকতে পারে।
  • একটি ভেরিয়েবলের নাম Alphabets দিয়ে শুরু হতে পারে এবং কেবল আন্ডারস্কোর  (Underscore) হতে পারে। এটি কোন অঙ্ক দিয়ে শুরু করতে পারে না।
  • ভেরিয়েবল নামের মধ্যে কোন Whitespace থাকা যাবে না।
  • একটি ভেরিয়েবলের নাম অবশ্যই কোন সংরক্ষিত শব্দ (Reserved word) হবে না। যেমনঃ int,float,double ইত্যাদি

6 Responses to ভেরিয়েবলস্ (Variables)কি?ভেরিয়েবলস্ (Variables) এর প্রকারভেদ,ভেরিয়েবল নির্ধারণের নিয়ম - C Programming in Bangla Tutorial-06