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


Similar Questions


CCC Online Test 2021 CCC Practice Test Hindi Python Programming Tutorials Best Computer Training Institute in Prayagraj (Allahabad) Best Java Training Institute in Prayagraj (Allahabad) Best Python Training Institute in Prayagraj (Allahabad) O Level Online Test in Hindi Bank SSC Railway TET UPTET Question Bank career counselling in allahabad Sarkari Naukari Notification Best Website and Software Company in Allahabad Sarkari Exam Quiz