The different locations in the computer where we can store data and their
	accessibility, initial values etc. very based on the way they are declared. These
	different ways are termed as different storage classes.
	• In C there are for storage classes, namely
	1. Automatic
	2. Register
	3. Static
	4. External or global
	• Let us see these storage classes one by one
	1. Automatic storage class
	In this case data is stored in memory
	The initial value of such a variable is garbage
	The scope of the variable is local i.e. limited to the function in which it is defined.
	The life of such variables is till the control remains in the particular function where
	it is defined.
	For e.g.:
	Int i; or auto int i;
	2. Register storage class
	In this case data is stored in CPU register
	The initial value of such a variable is garbage.
	The scope of the variable is local i.e. limited to the function in which it is defined
	The life of such variables is till the control remains in the particular function where
	it is defined.
	For e.g.:
	Register int I;
	In this case the data is stored in a small memory inside the processor called its
	registers.
	The advantage of such storage class is that since the data is in the processor itself,
	its access and operation on such data is faster.
	There is limitation on the size of the data that can declared to be register storage
	class. The data should be such that it doesn’t require more than 4 bytes. Hence
	double and long double data types cannot be declared as a register.
	Also there is a limitation on the maximum number of variables in a function that
	can be a register class. The limitation is that a maximum of 3 register class variable
	can be declared in a function.
	3. Static storage class
	In this case data is stored in a memory
	MUQuestionPapers.com 13
	The initial value of such a variable is zero
	The scope of the variable is local i.e. limited to the function in which it is defined
	The life of such variable is till the program is alive.
	For e.g.:
	Static int I;
	If a variable is declared static, its value remains unchanged even If the function
	execution is completed.
	When the execution to that function returns, the previous value is retained.
	Thus it says the initialization is only once. If you have an initialization statement of a
	static member, it will be executed only once i.e. for the first time when this
	function is called.
	4. External or global storage class
	In this case data is stored in memory
	The initial value of such a variable is zero.
	The scope of the variable is global i.e. it is accessible from anywhere in the
	program.
	The life such a variable is till the program is alive.