void func() { int a, b; // allocate 3 words for a, b, c, d ... if (b) { int c; // already allocated, now visible ... } if (a) { int d; // recycle word for c, now renamed ... } ... } // a, b, c, d (3 words) all freed