[RISOLTO] dichiarare variabili al momento che servono oppure no

dipende dall'uso che ne devi fare, io non sceglierei il punto dove dichiararle in base a questi aspetti, ma all'uso che ne devi fare.
A meno che le prestazioni rincorse in modo maniacale non siano fondamentali, cioè dove devi recuperare e ottimizzare ogni singolo ciclo macchina...
Se le dichiari dentro la funzione hanno vita locale, si dichiarano quando non devono mantenere il valore tra un ciclo e l'altro. Si dichiarano fuori se devi memorizzare valori che devono sopravvivere al singolo ciclo di loop.

Se poi decidi di dichiararle fuori perchè ti piace di più o per altri motivi legittimi, ma devono avere vita locale al loop, le devi re-inizializzare ad ogni loop, resettare alla fine o inizializzare prima del loro utilizzo, altrimenti rischi di avere valori sporchi che ti alterano l'esecuzione.