Memory for a local variable is allocated when a procedure is entered, and recovered when a procedure returns.