Open In App

How to Access Global Variable if there is a Local Variable with Same Name in C/ C++?

Improve
Improve
Like Article
Like
Save
Share
Report

Local Variable: The variable whose scope lies inside a function or a block in which they are declared. 

Global Variable: The variable that exists outside of all functions. It is the variable that is visible from all other scopes.

We can access global variable if there is a local variable with same name in C and C++ through Extern and Scope resolution operator respectively.

In C:

1) We can access a global variable if we have a local variable with same name in C using extern. 

C




// C Program to demonstrate that we can access a global
// variable if we have a local variable with same name
#include <stdio.h>
 
// Global variable x
int x = 50;
 
int main()
{
    // Local variable x
    int x = 10;
    {
        extern int x;
        printf("Value of global x is %d\n", x);
    }
    printf("Value of local x is %d\n", x);
    return 0;
}


Output

Value of global x is 50
Value of local x is 10

Time Complexity: O(1)

Auxiliary Space: O(1)

In C++:

2) We can access a global variable if we have a local variable with the same name in C++ using Scope resolution operator (::). 

C++




// C++ Program to demonstrate that We can access a global
// variable if we have a local variable with same name in
// C++ using Scope resolution operator (::)
#include <iostream>
using namespace std;
 
// Global variable x
int x = 50;
 
int main()
{
    // Local variable x
    int x = 10;
    cout << "Value of global x is " << ::x << endl;
    cout << "Value of local x is " << x;
    getchar();
    return 0;
}


Output

Value of global x is 50
Value of local x is 10

Time Complexity: O(1)

Auxiliary Space: O(1)

 



Last Updated : 21 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads