সবাইকে সালাম ও শুভেচ্ছা। আশা করি সবাই ভালো আছেন। অনেক আগে শুরু করা C Programming এর উপর টিউটোরিয়াল গুলো অনেক দূর এগিয়ে নিয়ে গেলেও শেষ করা হয়ে উঠেনি বিভিন্ন কারনে। তার জন্য নিশ্চই আমার উপর ক্ষেপে আছেন অনেকেই। অলসতা, ব্যস্ততা আর ক্লাসের কারনেই যত গোলমাল হয়েছে। সবাই আমাকে তাই ক্ষমা করে দিবেন। এবার আশা করি একটানা আরো কিছু টিউটোরিয়াল লিখতে পাবর। সবার কাছে সেই দোয়া চেয়ে আবারও শুরু করছি। আজ C Programming এর ছোট একটা Basic Topics – Scope নিয়ে কিছু লিখব। কেউ যদি আমার এত দিনের Gap এর কারনে পূর্বের সব কিছু ভুলে গিয়ে থাকনে তাহলে পিছন থেকে একটু ঘুরে আসতে পারেন।
Scope কি?
একটি প্রোগ্রামের Identifier গুলো কোথায় ব্যবহার করা হবে কোথায় বা কোন অংশে তাদের ক্ষমতা থাকবে তাই হচ্ছে Scope। Scope এর বাংলা হচ্ছে সুযোগ। আমরা প্রোগ্রামে যে সকল Variable বা চলক গুলো ব্যবহার করি তা প্রোগ্রামের একটি নির্দিষ্ট অঞ্ছলেই ব্যবহার করা যায়। অন্য যাগায় তারা নিষ্কিয় থাকে।
যেমন একটি Variable বা চলক তারা declare বা ঘোষনা করার আগে ব্যবহার করা যায় না। আবার প্রোগ্রামের একটি ফাংশান বা ব্লকে তা ডিক্লেয়ার করলে তা অন্য ব্লকে ব্যবহার করা যায় না। সুতরাং বলা যায় যে Scope শুরু হয় যখন কোন Variable যদি declare করা হয় তখন।
Scope এর একটা উদাহরন দেখিঃ
ফলাফলঃ
এখানে প্রথমে Main function বা প্রধান ফাংশানের আগে x=4; ধরা হয়েছে। যা হচ্ছে গ্লোবাল বা সার্বোজনীন Variable। এটা যেকোন যায়গায় ব্যবহার করা যাবে।
তার পর Main function বা প্রধান ফাংশানের পরে কিন্তু ব্লকের আগে আরেকটি x Variable ব্যবহার করা হয়েছে। যা প্রধান ফাংশানের পরে যে কোন যাগায় ব্যবহার করা যাবে।
একটি ব্লগে আবার ও আরেকটি x Variable ডিক্লেয়ার করা হয়েছে। যা শুধু মাত্র ঐ কোড ব্লকেই কাজ করবে। ঐ কোড ব্লকের পর আর কাজ করবে না।
বুঝার সুবিধার জন্য এখানে একটি মাত্র Variable ব্যবহার করা হয়েছে। সব যায়গায়ই Variable হিসেবে x নেওয়া হয়েছে শুধু মাত্র এর মান ভিন্ন ধরা হয়েছে।
Global x এর মান ধরা হয়েছে 4, Main function এর ভিতরের x এর মান ধরা হয়েছে 8 এবং Block এর ভিতরের x এর মান ধরা হয়েছে 12। প্রোগাম টি রান করালে দেখা যায় যে একটি মাত্র চলক ব্যবহার করা সত্যেও বিভিন্ন যাগায় বিভিন্ন মান প্রিন্ট করে।
যদি অন্য আরো Variable করা হয় তাহলে Global Variable এর একসেস পেতে ঐ Variable এর আগে দুটি কোলন(::) দিতে হয়। যা উপরের প্রোগ্রামের মধ্যে নিচের লাইনের মধ্যে ব্যবহার করা হয়েছে
printf("Global x: %d \n",::x);
কিন্তু একই নামের অন্য কোন Variable ব্যবহার না করলে সাধারন নিয়মেই Global Variable ব্যবহার করা যায়।
আর এ ক্ষেত্রে precedence বা অগ্রাধিকার হচ্ছে আগে ব্লকে ব্যবহৃত Variable এর। তার পর Main function এর ভিতরেরVariable এর। এবং শেষে Global Variable এর।
যারা CSE এর Student তাদের জন্যঃ Scope in C Programming Language
cost lipitor 40mg atorvastatin uk lipitor 20mg brand
order atorvastatin 40mg without prescription lipitor 20mg usa lipitor brand
order cipro 1000mg – augmentin 625mg drug cheap augmentin
buy metformin 1000mg – order generic bactrim lincomycin 500mg brand
buy pill retrovir – lamivudine 100 mg usa allopurinol canada
glycomet 1000mg usa – lamivudine online buy lincocin 500 mg tablet
order zidovudine for sale – generic zyloprim buy allopurinol without a prescription
order clozapine 50mg without prescription – buy generic clozaril over the counter buy famotidine for sale
order clozapine without prescription – clozapine cost pepcid order online
buy cheap quetiapine – purchase ziprasidone without prescription eskalith uk
buy seroquel 100mg generic – buy eskalith generic cheap eskalith online
purchase hydroxyzine online cheap – buy cheap generic nortriptyline where to buy amitriptyline without a prescription
order anafranil 25mg sale – buy tofranil no prescription order sinequan for sale
buy clomipramine generic – cheap cymbalta 20mg order doxepin 75mg generic
purchase hydroxyzine pills – fluoxetine 20mg drug buy amitriptyline pills for sale
buy amoxil online cheap – buy cheap amoxicillin buy ciprofloxacin generic
buy augmentin medication – buy acillin pill order ciprofloxacin pill
order amoxicillin without prescription – buy amoxicillin paypal purchase baycip online
augmentin 375mg drug – where can i buy ethambutol buy ciprofloxacin 1000mg generic
order cleocin 300mg pill – purchase chloramphenicol sale cheap chloramphenicol generic
cleocin 150mg canada – terramycin 250 mg cheap chloromycetin order online
generic zithromax – buy generic sumycin order generic ciplox 500mg
oral azithromycin 500mg – buy generic sumycin buy ciprofloxacin pills for sale