What is the Scope of Variables in C Language?

Scope is the program area. Variable scope is the area of ​​your program where variables are declared and used. So you can have three types of scopes, depending on where they are declared and used …

  • Local variables are defined within a function or block.
  • Global variables are outside of all functions.
  • Formal parameters are defined by function parameters.

1. Local Variables:

Variables declared within a function or block are called local variables and are said to have local scope. These local variables can only be used within the function or block in which they are declared. A local variable can only be used (or accessed) in the block or function in which it is declared. Otherwise, it is invalid.

Local variables are created when control reaches the block or function that contains the local variable and then destroyed.

For example:
Here Code:
#include <stdio.h>
int main () {
  /* local variable declaration */
  int a, b;
  int c;
  /* actual initialization */
  a = 10;
  b = 20;
  c = a + b;
  printf ("value of a = %d, b = %d and c = %d\n", a, b, c);
  return 0;
}

2. Global Variables:

Variables that are defined outside of all functions and accessible throughout the program are global variables and are said to have global scope. Once declared, any function of the program can access and modify them. You can give the local and global variables the same name, but the local variable takes precedence within the function.

For example:
Here Code:
#include <stdio.h>
/* global variable declaration */
int g;
int main () {
  /* local variable declaration */
  int a, b;
  /* actual initialization */
  a = 10;
  b = 20;
  g = a + b;
  printf ("value of a = %d, b = %d and g = %d\n", a, b, g);
  return 0;
}

The program can give the local and global variables the same name, but the value of the local variable in the function takes precedence. Here is an example –

Here Code:
#include <stdio.h>
/* global variable declaration */
int g = 20;
int main () {
  /* local variable declaration */
  int g = 10;
  printf ("value of g = %d\n",  g);
  return 0;
}

3. Formal Parameters:

Formal parameters are parameters that are used within the body of a function. Formal parameters are treated as local variables in the function and take precedence over global variables.

For example:
Here code:
#include <stdio.h>
/*Global variable*/
int x = 10;
void fun1(int x)
{
    /*x is a formal parameter*/
    printf("%d\n",x);
}
int main()
{
    fun1(5);
}

References:

(Visited 57 times, 1 visits today)

0 0 votes
Article Rating
Subscribe
Notify of
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
gateio
14 days ago

I have read your article carefully and I agree with you very much. This has provided a great help for my thesis writing, and I will seriously improve it. However, I don’t know much about a certain place. Can you help me?

Ask ChatGPT
Set ChatGPT API key
Find your Secret API key in your ChatGPT User settings and paste it here to connect ChatGPT with your Tutor LMS website.
1
0
Would love your thoughts, please comment.x
()
x