Open In App

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

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 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++ 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)

 


Article Tags :