In C, storage class provides information about their location and visibility.C provides four storage classes as:- auto storage class
- register storage
- extern storage class
- static storage class
- Storage class determines its storage duration, scope and linkage.
- Storage duration is the period during which that identifier exists in the memory.
- Scope is where the identifier can be referenced in a program.
- Linkage determines for a multiple-source file.
Let's summarised all storage classes in C as following as:
Features | Automatic Storage Class | Register Storage Class | Static Storage Class | External Storage Class |
Keyword | auto | register | static | extern |
Initial Value | Garbage | Garbage | Zero | Zero |
Storage | Memory | CPU register | Memory | Memory |
Scope | scope limited,local to block | scope limited,local to block | scope limited,local to block | Global |
Life | limited life of block,where defined | limited life of block,where defined | value of variable persist between different function calls | Global,till the program execution |
Memory location | Stack | Register memory | Segment | Segment |
Example |
void main() | { | auto int i; | printf("%d",i); | } | OUTPUT | 124 |
|
void main() | { | register int i; | for(i=1; i<=5 ; i++); | printf("%d ",i); | } | OUTPUT | 1 2 3 4 5 |
|
void add(); | void main() | { | add(); | add(); | } | void add() | { | static int i=1; | printf("\n%d",i); | i=i+1; | } | OUTPUT | 1 | 2 |
|
void main() | { | extern int i; | printf("%d",i); | int i=5 | } | OUTPUT | 5 |
|
FIGURE: Table of Storage classes in C
You might also like to read:- What is storage classes in C
- Automatic storage class
- Register storage class
- Static storage class
- External storage class
Comments
Post a Comment