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

Last Updated : 23 Jul, 2025

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 usingextern.

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