What are Storage Classes in C ?
Answers were Sorted based on User's Feedback
Answer / babu
There are two storage classes : Automatic and Static.
Automatic objects are local to block,and are discarded on
exit from the block.Declaration with in a block create
automatic objects if no storage class spections is
mentioned , or if the auto specifier is used.Object
declared as register are automatic,and are (if Possible)
stored in fast registers of the machine.
Static obj may be local to a block or external to all
blocks,but in either case retain their values across exit
from and reentry to function and blocks.Within a block
including a block that provides the code for a function,
static objects are declared with the keyword Static.
The objects declared outside all blocks,at the same level
as function definitions,are always static keyword;this
gives them Internal Linkage.
They become global to an entire program by omitting an
explicit storage class ,or by using keyword Extern;this
gives external linkage.
| Is This Answer Correct ? | 44 Yes | 166 No |
Answer / vijoeyz
C has three types of storage: automatic, static and
allocated.
Variable having block scope and without static specifier
have automatic storage duration.
Variables with block scope, and with static specifier have
static scope. Global variables (i.e, file scope) with or
without the the static specifier also have static scope.
Memory obtained from calls to malloc(), alloc() or realloc()
belongs to allocated storage class.
--
http://www.geocities.com/vijoeyz/faq/
| Is This Answer Correct ? | 27 Yes | 282 No |
What is volatile c?
How does pointer work in c?
write a Program to dispaly upto 100 prime numbers(without using Arrays,Pointer)
26 Answers ADITI, iFlex, Infosys, Oracle, TCS, Unicops, Wipro,
how c source file in converted to exe file
Write a program to exchange two variaables without temp
Do you know what is the purpose of 'extern' keyword in a function declaration?
What are data types in c language?
Why main function is special give two reasons?
Can we change the value of constant variable in c?
what is stack , heap ,code segment,and data segment
How does variable declaration affect memory?
what is the output of the following program? main() { int c[]={2,8,3,4,4,6,7,5}; int j,*p=c,*q=c; for(j=0;j<5;j++) { printf("%d",*c); ++q; } for(j=0;j<5;j++) { printf("%d",*p); ++p; } }