C Storage Class
Storage class associated with variables that provides information about the location and visibility of variables. The storage class specifies the part of a program within which the variables can be recognized. There are four types of storage class in C language.
- auto
- static
- extern
- register
auto Storage Class
The auto is the default storage class for all the local variables. Local variable is known only to the function in which it is declared.
Syntax
auto int num;
static Storage Class
The static storage class preserves the value of a variable even after the control is transferred to the calling function. Using static as a local variable allows to maintain their values between the function in which it is defined and using static as a global variable can be accessed in any part of the program.
Syntax
int num;
static int num;
extern Storage Class
It is a global variable. It is known to all function in the file. It is used to give a reference of a global variable. The extern variable can not be initialized. Simply it can be said that extern is used to declare the global variable or function in another program. When more than one file share the same global variable or function you have to use the extern keyword.
Syntax
extern void my_func();
register Storage Class
The register is used to specify local variables which needs to be stored in the register instead of RAM. When you need the maximum size variable equal to the register size you should use the register storage class. It works faster than the variable placed in RAM.
Syntax
register int num;