Explain scope of a variable in C language.


Storage classes specify the scope, lifetime and binding of variables.

To fully define a variable, one needs to mention not only its ‘type’ but also its storage class.

A variable name identifies some physical location within computer memory, where a collection of bits are allocated for storing values of variable.

Storage class tells us the following factors

  • Where the variable is stored (in memory or cpu register)?
  • What will be the initial value of variable, if nothing is initialized?
  • What is the scope of variable (where it can be accessed)?
  • What is the life of a variable?

Scope

Scope defines the visibility of an object. It defines where an object can be accessed.

The scope variable is local or global

  • The variable defined within the block has local scope. They are visible only to the block in which they are defined.
  • The variable defined in global area is visible from their definition until the end of program. It is visible everywhere in program.

Example

Following is the C program for the scope of a variable −

#include<stdio.h>
int c= 30; /* global area */
main ( ) {
   int a = 10; //local scope//
   printf ("a=%d,c=%d"a,c);
   fun ( );
}
fun ( ){
   printf ("c=%d",c); //global variable
}

Output

When the above program is executed, it produces the following output −

a =10, c = 30
c = 30

Example

Following is the C program for the local and global variables −

 Live Demo

#include<stdio.h>
int a,b;
a=1,b=2;
main() {
   int c,d;
   printf("enter c and d values:");
   scanf("%d%d",&c,&d);
   c=c+d; //local variables
   b=a*b; //global variables
   printf("c value is:%d
",c);    printf("b value is:%d
",b); }

Output

When the above program is executed, it produces the following output −

enter c and d values:4 7
c value is:11
b value is:2

Updated on: 25-Mar-2021

663 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements