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

What is JAD and how are users involved? What are advantages and disadvantages of JAD?

What are the three dimensions to business problems? Give an example of each.

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.