How are variables scoped in C

C++Server Side ProgrammingProgramming

Here we will see how the C variables are scoped. The variables are always statically scoped in C. Binding of a variable, can be determined by the program text. These are independent of runtime function call stack.

Let us see one example to get the idea.

Example

# include <stdio.h>
int x = 0;
int my_function() {
return x;
}
int my_function2() {
int x = 1;
return my_function();
}
int main(){
printf("The value is: %d\n", my_function2());
}

Output

The value is: 0

Here the result is 0. Because the value returned by my_function() is not depends on the function, which is calling this. This function always returns the value of the global variable x.

Published on 30-Apr-2019 16:10:14