Home / Questions / Where does global, static, and local, register variables, free memory and C Programinstructions get stored?
Explanatory Question

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

👁 2,404 Views
📘 Detailed Answer
🕒 Easy to Read
Read the answer carefully and go through the related questions on the right side to improve your understanding of this topic.

Answer with Explanation

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