Describe about storage allocation and scope of global, extern, static, local and register variables?

Question :

Describe about storage allocation and scope of global, extern, static, local and register variables?

Globals have application-scope. They‘re available in any compilation unit that includes an

appropriate declaration (usually brought from a header file). They‘re stored wherever the linker

puts them, usually a place called the ―BSS segment.‖

Extern? This is essentially ―global.‖

Static: Stored the same place as globals, typically, but only available to the compilation unit that

contains them. If they are block-scope global, only available within that block and its subblocks.

Local: Stored on the stack, typically. Only available in that block and its subblocks.

(Although pointers to locals can be passed to functions invoked from within a scope where that

local is valid.)

Register: See tirade above on ―local‖ vs. ―register.‖ The only difference is that

the C compiler will not let you take the address of something you‘ve declared as ―register.‖


CCC Online Test Python Programming Tutorials Best Computer Training Institute in Prayagraj (Allahabad) Online Exam Quiz O Level NIELIT Study material and Quiz Bank SSC Railway TET UPTET Question Bank career counselling in allahabad Best Website and Software Company in Allahabad Website development Company in Allahabad