Here, extern is being used to declare count in the second file, where as it has its definition in the first file, main. It will produce the executable program a. A static variable can either be internal or external depending upon the place of declaraction. Every variable or a function has a defined scope visibility and life-time and also memory location. What is the best place online to learn C Programming free?

Uploader: Gorg
Date Added: 6 June 2011
File Size: 23.14 Mb
Operating Systems: Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X
Downloads: 78562
Price: Free* [*Free Regsitration Required]

A variable declared inside a function without any storage class specification, is by default an automatic variable. Register variables are also given no initial value by the compiler.

C Storage Classes

What is the meaning of “storage class of an array”? A definition causes storage to be allocated for the variable or the body of the function to be storwge.

You dismissed this ad. What is the use of storage classes in C? Register variable has faster access than normal variable. Retains the value of the variable between different function calls. The static 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.

China’s Xinhua agency unveils AI news presenter Posted on Thursday November 08, The state news agency Xinhua says the nameless presenter will help reduce news production costs. Ask New Question Sign Xtorage. Instead of creating and destroying a variable wtorage time when it comes into and goes out of scope, static storwge initialized only once and remains into existence till the end of program.


Storage class in C decides the part of storage to allocate memory for a variable, it also determines the scope of a variable. Variables having automatic storage class are local to the block which they are defined in, and get destroyed on exit from the block. Along with the life time of a variable, storage class also determines variable’s storage location memory or registersthe scope visibility level of the variable, and stogage initial value of the variable.

In the following sample C program if you remove extern int x; you will get an error “Undeclared identifier ‘x'” because variable x is defined later than storgae has been used in printf. The extern declaration does not allocate storage for variables.

C – Storage Classes

To understand why this is important, it is necessary to understand the difference stoage a declaration and a definition. It describes the persistence of the objects accessed by scope,linkage and visibility of variable. The extern keyword is used before a variable to inform the compiler that this variable is declared somewhere else. How do I use the storage classes in “C”? I’ll try to summarize the mapping just to the storage durations: A static variable tells the compiler to persist the variable until the end of program.


The register specifier declares a variable of register storage class.

When you have multiple files and you define a global variable or function, storag will also be used in other files, then extern will be used stoorage another file to provide the reference of defined variable or function. He is a software professional post graduated from BITS-Pilani and loves writing technical articles on programming and data structures. To view the content please disable AdBlocker and refresh the page.

It will produce the executable program a. What is class in C? What is the default storage class in C? I’ll try to summarize the mapping just to the storage durations:.

What is a storage class in C? – Quora

Only few variables can be placed inside register. We are design partners for world’s top companies like LinkedIn and Uber.

In this example, the extern specifier tells the compiler that variable x has already been defined and it is declared here for compiler’s information. The printf in the inner most block will print storave and the variable i defined in the inner most block gets destroyed as soon as control exits from the block.