C Variables


A variable is a name of memory location. It is used to store data. Its value can be changed and it can be reused many times.

It is a way to represent memory location through symbol so that it can be easily identified.

Syntax to declare a variable

type variable_list;  

Example of declaring variable

int a;  
float b;  
char c;  

Here, a, b, c are variables and int,float,char are data types.

There are many types of variables in c:

  • local variable
  • global variable
  • static variable
  • automatic variable
  • external variable

Local Variable

A variable that is declared inside the function or block is called local variable.

Example

void function1(){  
int x=10;//local variable  
}  

Global Variable

A variable that is declared outside the function or block is called global variable. Any function can change the value of the global variable. It is available to all the functions.

Example

int value=20;//global variable  
void function1(){  
int x=10;//local variable  
}  

Static Variable

A variable that is declared with static keyword is called static variable.

Example

void function1(){  
int x=10;//local variable  
static int y=10;//static variable  
x=x+1;  
y=y+1;  
printf("%d,%d",x,y);  
}  

f you call this function many times, local variable will print the same value for each function call e.g, 11,11,11 and so on. But static variable will print the incremented value in each function call e.g. 11, 12, 13 and so on.


Automatic Variable

All variables in C that is declared inside the block, are automatic variables by default. By we can explicitly declare automatic variable using auto keyword.

Example

void main(){  
int x=10;//local variable (also automatic)  
auto int y=20;//automatic variable  
}  

External Variable

We can share a variable in multiple C source files by using external variable. To declare a external variable, you need to use extern keyword.

myfile.h
extern int x=10;//external variable (also global)
Program
#include "myfile.h"  
#include <stdio.h>  
void printValue(){  
    printf("Global variable: %d", global_variable);  
}  

Example

#include 

// Variable declaration:
extern int a, b;
extern int c;
extern float f;

int main ()
{
  /* variable definition: */
  int a, b;
  int c;
  float f;
 
  /* actual initialization */
  a = 10;
  b = 20;
  
  c = a + b;
  printf("value of c : %d \n", c);

  f = 70.0/3.0;
  printf("value of f : %f \n", f);
 
  return 0;
}

Share this article on