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?

JAD Advantages and Disadvantages

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