A storage class specify scope and the lifetime  of a variable with in a c++ program and also give information about where a variable gets memory space.We have four different storage classes in a c++ program.

            1.  Auto

            2.  Register

            3.  Static

            4.  Extern

 
1. Auto storage class 

The auto storage class in the default storage class for all local variable.

            Auto – memory – garbage

            Int a;

            auto int b;

 

Example of auto storage class

#include<iostream.h>

#include<conio.h>

void display(){

             auto int i=1;

            cout<<" " <<i++;

}

void main(){

            int i;

            clrscr();

            for(i=1;i<=5;i++){

                        display();

            }

getch();

}

Output

        1     1     1     1     1



2.  Register storage class 

The memory for the register variable is allocated in the CPU register for fast execution. The ‘register’ keyword is used to declare a register variable.

            register – CPU register – garbage

            register int b;

 

Example of register class

#include<iostream.h>

#include<conio.h>

void display(){

            register int i=1;

            cout<<" " <<i++;

}

void main(){

            int i;

            clrscr();

            for(i=1;i<=5;i++){

                        display();

            }

getch();

Output

        1     1     1     1     1



3.  Static storage class 

A static variable is local to a function with a lifetime as same as the program’s lifetime.

            Static – memory – 0

            Static int I;

 

Example of static storage class

#include<iostream.h>

#include<conio.h>

void display(){

            static int i=1;

            cout<<" " <<i++;

}

void main(){

            int i;

            clrscr();

            for(i=1;i<=5;i++){

                        display();

            }

getch();

}

Output

        1     2     3     4     5



4.  Extern storage class 

It can be accessed by any function of the program.The extern variable are alive throughout the entire program.The extern variable is declare outside the function.

            extern – memory – 0

            extern int I;

 

Example of extern storage class

#include<iostream.h>

#include<conio.h>

void main(){

            extern int i;

            clrscr();

            cout<<i;

getch();

}

int i=5;

Output

        5