title: What happens in the backend when you initialize a variable on the stack in C?
body: <p>When I declare a variable <code>int b;</code> what actually happens in the backend? Would it translate to <code>int* b = malloc(sizeof(int))</code>, just that it will be bound by a scope? I understand that a variable on the stack is bound by a scope and the heap is not necessarily bound by a scope, but on the backend, is the allocation similar? Hopefully I explained it well enough for someone to correct me</p>