Skip to main content

Storage Class In C Language


Introduction To Storage Classes:-

A storage class defines the scope (visibility) and life-time of variables and/or
functions within a C Program. They precede the type that they modify.
In C Language We Have Four Storage Class:

1)auto
2)register
3)static
4)extern

Now we understand one by one with suitable example as below:-

The auto Storage Class:-

This class is default storage class for all local variables.
local variabe is refered which is defined in main function as:-
int main()
{
int amount;
auto int amount;
}
in above example two variable amount defined within same storage class
'auto' and it is used only in block of function.

The register Storage class:-

this storage class is used to define local variables that should be stored
in a register instead of RAM:-
it will be defined as:-
{
register int z;
}
*The register should only be used for variables that require quick access
*register variable stored at the RAM.
*The Variable Is Lost After System Shut Down
*it might be stored in a register depending on hardware and
 implementation restrictions.

The Static Storage Class:-

this storage class instructs the compiler to keep a local variable in
existence during the life-time of the program instead of creating and destroying
it each time it comes into and goes out of scope.
*static variable can be accessed in whole program
*The static modifier may also be applied to global variables.
*when static is used on a class data member, it causes only
 one copy of that member to be shared by all the objects of its class.

Example Program For Static:-

#include <stdio.h>
/* function declaration */    //OUTPUT SCREEN:-(LINUX)
void fun(void);
static int count = 9;
/* global variable */
int main()
{
while(count--)
{
fun();
}
return 0;
}
/* function definition */
void fun( void )
{
static int m = 9;
/* local static variable */
m++;
printf("m is %d and count is %d\n", m, count);
}
When the above code is compiled and executed, it produces the following output:
m is 10 and count is 8
m is 11 and count is 7
m is 12 and count is 6
m is 13 and count is 5
m is 14 and count is 4
m is 15 and count is 3
m is 16 and count is 2
m is 17 and count is 1
m is 18 and count is 0

Extern Storage Class:-

*storage class is used to give a reference of a global variable that is
 visible to ALL the program files.
*it points the variable name at a storage location that has
 been previously defined.
*extern will be used in another file to provide
 the reference of defined variable or function
*extern is used to declare a global variable or function in another file.

Example Program:-

Save This As mainprogram.c


#include <stdio.h>
int count;
extern void write_extern();
int main()
{
count = 5;
write_extern();
return 0;
}

Now We Have To Save One More Program Named Program2.c


#include <stdio.h>
extern int count;
void write_extern(void)
{
printf("count is %d\n", count);
}                      

The Compilation And Output For This Program Is
Shown Below As:
                 
OUTPUT SCREEN (LINUX)












                   -:End:-

          THAT'S ALL ABOUT STORAGE CLASSES IN C LANGUAGE 
                      I HOPE THIS IS HELPFUL FOR YOURS
                       DON'T FORGET TO SUBSCRIBE ME
           YOU CAN CLEAR YOUR DOUBTS BY COMMENTS
                    PLEASE SHARE IN ALL SOCIAL MEDIA
                     -: THANKS A LOT:-

Comments

Popular posts from this blog

Introduction To Array In C Language

Introduction To Array: *Array Is A Type Of Data Structure Which Store Collection of Data Of  Same Type.Which Can Be Integer Float Or Character. *All arrays consist of contiguous memory locations. *The lowest address corresponds to the first element and the highest  address to the last element. Declaration Of Array:- It Consist up of 3 part :- 1.Data Type  2.Array Name 3.Size Of Array General Syntax:-                                                      data_type Array_name[size_of_array]; For Example:-  int marks[20]; in example datatype of array is int and name is marks and size is 20. * It Is Called Single Dimensional Array * the Array Size Must be Integer And it   must be greater than zero. Initialization Of Array: *We initialize an array in C either one by one or using a single statement           ...

Types Of Array In C language

Two Dimensional Array :- * It Is The Combination Of Two One Dimensional Array * It Is Used To Implement Matrix Operation . *A two-dimensional array can be considered as a table which  will have 'a' number of rows and'b'number of columns. Declaration Of Two Dimensional Array:-   data_type Array_name [size of row][size of column]; For Example:- int matrix[3][4]; in above example we will store a matrix of 3*3. This Will Cleared From Following Figure:- *It can be represented a[i][j].where i and j represents  row and column respectively. Initialization Of Two Dimensional Array:- let us consider an array "float a[3][3]"then it will be initialized float a[3][3]={                {1.2,2.3,4.3} //initializers for row indexed by 0                {2.1,2.2,2.3} //initializers for row indexed by 1                {3.1,3.4,3.6} //initializers for row indexed by 2 ...

Pointer In C Language

          Introduction To Pointer: About Pointer:- *POINTER is a variable whose value is the address of another variable *Every variable is a memory location and every memory location  has its address defined which can be accessed using ampersand(&)  operator,which denotes an address in memory *Dynamic memory allocation,cannot be performed without using pointers. Let's start learning them in simple and easy steps. pointer variable declaration:- data_type *variable_name; *The asterisk ( * ) used to declare a pointer is the same asterisk used for   multiplication. some of the valid pointer declarations:- int *in;             //pointer to an intege r  double *db;  // pointer to a double  float *fl;         //  pointer to a float  char *chr    //pointer to a character   *The only difference between pointers of different data types is the data type of the va...