কম্পিউটার টিউটোরিয়াল

C প্রোগ্রাম: গ্লোবাল ভেরিয়েবল রি-ডিক্লেয়ারেশন


আমরা বুঝব কীভাবে C এবং C++ আলাদা আচরণ করে যখন আমরা কোনো গ্লোবাল ভেরিয়েবল ইনিশিয়ালাইজেশন ছাড়াই রি-ডিক্লেয়ার করি, গ্লোবাল ভেরিয়েবল ইনিশিয়ালাইজ করে রি-ডিক্লেয়ার করি, বা গ্লোবাল ভেরিয়েবল রি-ডিক্লেয়ার করে দুবার ইনিশিয়ালাইজ করি। এছাড়া লোকাল ভেরিয়েবলের জন্যও একই কম্বিনেশনগুলো রিপিট করব।

১. ক) C প্রোগ্রাম: ইনিশিয়ালাইজেশন ছাড়া গ্লোবাল ভেরিয়েবল রি-ডিক্লেয়ারেশন

#include <stdio.h> int var; int var; int main(){    printf("Var = %d",var);    return 0; }

আউটপুট

Var = 0

খ) C++ প্রোগ্রাম: ইনিশিয়ালাইজেশন ছাড়া গ্লোবাল ভেরিয়েবল রি-ডিক্লেয়ারেশন

#include <iostream> using namespace std; int var; int var; int main(){    cout<<"Var = "<<var;    return 0; }

আউটপুট

কম্পাইলেশন এরর: int var; main.cpp:3:5: note: 'int var' previously declared here

ফলাফল:- C ইনিশিয়ালাইজেশন ছাড়া গ্লোবাল ভেরিয়েবল রি-ডিক্লেয়ারেশনের অনুমতি দেয়। মান 0 থাকে। C++ কম্পাইলেশন এরর দেয় যে ভেরিয়েবলটি রি-ডিক্লেয়ার করা হয়েছে।

২. ক) C প্রোগ্রাম: ইনিশিয়ালাইজেশন ছাড়া লোকাল ভেরিয়েবল রি-ডিক্লেয়ারেশন

#include <stdio.h> #include <stdio.h> int main(){    int var;    int var;    printf("Var = %d",var);    return 0; }

আউটপুট

error: redeclaration of 'var' with no linkage

খ) C++ প্রোগ্রাম: ইনিশিয়ালাইজেশন ছাড়া লোকাল ভেরিয়েবল রি-ডিক্লেয়ারেশন

#include <iostream> using namespace std; int main(){    int var;    int var;    cout<<"Var = "<<var;    return 0; }

আউটপুট

error: redeclaration of 'int var'

ফলাফল:- C এবং C++ উভয়ই ইনিশিয়ালাইজেশন ছাড়া লোকাল ভেরিয়েবল রি-ডিক্লেয়ারেশনের অনুমতি দেয় না। দুটি প্রোগ্রামই কম্পিলেশনএ ফেলে।

৩. ক) C প্রোগ্রাম: ইনিশিয়ালাইজেশন সহ গ্লোবাল ভেরিয়েবল রি-ডিক্লেয়ারেশন

#include <stdio.h> int main(){    int var;    int var=10;    printf("Var = %d",var);    return 0; }

আউটপুট

Var = 10

খ) C++ প্রোগ্রাম: ইনিশিয়ালাইজেশন সহ গ্লোবাল ভেরিয়েবল রি-ডিক্লেয়ারেশন

#include <iostream> using namespace std; int var; int var=10; int main(){    cout<<"Var = "<<var;    return 0; }

আউটপুট

main.cpp:7:9: error: redeclaration of 'int var' int var;

ফলাফল:- C আনইনিশিয়ালাইজড গ্লোবাল ভেরিয়েবল রি-ডিক্লেয়ারেশনের অনুমতি দেয়। C++ প্রোগ্রাম কম্পিলেশনয় ফেলে।

৪. ক) C প্রোগ্রাম: ইনিশিয়ালাইজেশন সহ গ্লোবাল ভেরিয়েবল রি-ডিক্লেয়ারেশন

#include <stdio.h> int var; int var=10; int main(){    printf("Var = %d",var);    return 0; }

আউটপুট

error: redeclaration of 'var' with no linkage

খ) C++ প্রোগ্রাম: ইনিশিয়ালাইজেশন সহ লোকাল ভেরিয়েবল রি-ডিক্লেয়ারেশন

#include <iostream> using namespace std; int main(){    int var;    int var=10;    cout<<"Var = "<<var;    return 0; }

আউটপুট

error: redeclaration of 'int var

ফলাফল:- C এবং C++ উভয়ই ইনিশিয়ালাইজড লোকাল ভেরিয়েবল রি-ডিক্লেয়ারেশনের অনুমতি দেয় না। দুটি প্রোগ্রামই কম্পিলেশনএ ফেলে।


  1. C প্রোগ্রাম: ম্যাট্রিক্স বিয়োগ (Subtraction of Matrices)

  2. C প্রোগ্রাম: অ্যারে প্যালিনড্রোম কিনা চেক করা

  3. C প্রোগ্রাম: প্লাস পারফেক্ট নম্বর (Plus Perfect Number) চেক করা

  4. C প্রোগ্রাম: আর্মস্ট্রং নাম্বার (Armstrong Number) যাচাই