On almost all of the compilers I've used, space for variables is allocated just once at function entry, regardless of whatever inner scope rules apply.
The compiler then creates/destroys and limits scope visibility as per the semantics of the language.