When we have a local variable with the same name as the global variable, we can’t access the value of the global variable as the environment always points to the value of the local variable.
For Example:
#include<stdio.h>
int x = 10; // global variable
int main()
{
int x = 50; // local variable
printf("Value of X is %d\n",x);
return 0;
}
OUTPUT:
Value of X is 50
In such a case, we may use ‘extern’ to access the value of a global variable.
For Example:
#include<stdio.h>
int x = 10; // global variable
int main()
{
int x = 50; // local variable
{
extern int x;
printf("Value of X (Global Variable) is %d\n",x);
}
printf("Value of X (Local Variable) is %d\n",x);
return 0;
}
OUTPUT:
Value of X (Global Variable) is 10
Value of X (Local Variable) is 50