Where does global, static, and local, register variables, free memory and C Program instructions get stored?

Where does global, static, and local, register variables, free memory and C Program instructions get stored?


 Global: Wherever the linker puts them. Typically the “BSS segment” on many platforms.

Static: Again, wherever the linker puts them. Often, they’re intermixed with the global. The only difference between globals and statics is whether the linker will resolve the symbols across compilation units.

Local: Typically on the stack, unless the variable gets register allocated and never spills.

Register: Nowadays, these are equivalent to “Local” variables. They live on the stack unless they get register-allocated.

Comments

Popular posts from this blog

Discuss the seven characteristics of useful information.

Why have accounting software packages been designed with separate transaction modules?

A laboratory assistant prepared solution of 0.8 M, 0.6 M, 0.4 M, and 0.2 M sucrose, but forgot to label them. After realizing the error, the assistant randomly labeled the flasks containing these four unknown solutions as flask A, flask B, flask C, and flask D.