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

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 ...

Variables And Constant In C Language

Introduction To Variable:- A variable is a name given to a storage area that our programs can manipulate. Each variable in C language has a specific type, which determines the size and layout of the variable's memory, the range of values that can be stored within that memory, and the set of operations that can be applied to the variable. The name of a variable can be composed of letters, digits, and the underscore character. It must begin with either a letter or an underscore. Upper and lowercase letters are distinct because C is case-sensitive. Based on the basic types explained in the previous post, there will be the following basic variable types:- Variable Definition in c language:- A variable definition tells the compiler where and how much storage to create for the variable. General Syntax For creating A Variable is data type_name; For Multiple Variable Of Same Data type:- data type_name1,name2,name3..; For Example :- int a; extern int c=6; // declaration of c static int f;  ...

Introductution To Structures In C Language

About Structure:- Arrays allow to define a type of variables that can hold several data items of the same kind. Similarly, structure is another user-defined data type available in C that allows to combine data items of different kinds. Let Us Take An Real Life Example: If We want to track the following attributes about each book: 1.Title (May Be String) 2.Author(May Be String) 3.Subject (May Be String) 4.Book ID (Integer Type) Than We Have to Define A Structure Variable That Can Take This Different Type Of Data-Types. Syntax For Defining A Structure:- struct [structure_Name] { member definition; member definition; ... member definition; } [one or more structure variables]; For Information of Student The Definition of structure Will Be: struct student_data {  char name[20];  int roll_Number;  int standered;  char father's_name[20]; } std1; //structure Vaiable   Accesing Structure Members:- The Members of structure variable accesed by Dot(.) Operator.. Let Us Take...