Наверное вопрос касается того, почему бы не использовать уже выделенную память под переменную нужного нам типа, чем выделять повторно под новую переменную, для уменьшения времени выполнения программы?
В языках высокого уровня переменные для того и созданы, чтобы выполняли каждая свою роль. иначе конструкции вида
int i=0;
for(;i<4;i++)
dosmth(i);
for(;i<7;i++)
dosmth(i);
не только усложняют читаемость кода, но и увеличивают шанс появления багов