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

Calling Method Of Function In C Language

Calling Method In C Language:- As We Already See That Any Function has Some Arguments Or void If We Use Variable As Argument Then It Is Called FORMAL PARAMETERS. *Formal parameters behave like other local variables inside the function  and are created upon entry into the function and destroyed upon exit. In C Language there are two ways in which arguments can be passed to a function:- 1)Call by value:-      (using value) 2)Call by reference:-  (using pointer) Now We Will See One By One These Arguments By Taking Suitable Example: 1)Call by value:-  *In This Method actual value copies to formal parameter: *Due To That changes made to the parameter inside the function  have no effect on the argument. This will cleared by following example:- Example Program:- //in this program we swap two variable using third variable: #include <stdio.h> /* function declaration */ void swapping(int a, int b); int main () { /* local variable definition */ int x =...

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

Basic Syntax Of "C" Language

1).Tokens In C Language:- A C program consists of various tokens and a token is either a keyword, an identifier, a constant, a string literal, or a symbol. For example, the following C statement consists of five tokens:        printf("Hello, World! \n"); 1.printf 2.( 3."Hello, World! \n" 4.) 5.;(semicolon) Let Us Describe about these Tokens One By One:- A.) Semicolons:- the semicolon is a statement terminator. That is, each individual statement must be ended with a semicolon. It indicates the end of one logical entity. For Example: printf("Helo"); getch(); Given Above Is Example Of Termination Of Two Statements. B.)Comments:- Comments are like helping text in your C program and they are ignored by the compiler. They start with /* and terminate with the characters */ as shown below: /*This Is My First Program*/        OR We can use double slash(//) for comment one line as:- //this is My First Program C.) Identifiers:- A C identifier is a name used ...