for (int i=0;i<100;i++)
int X=50;
oui il y a une différence !
dans ton premier exemple , tu alloues dans la mémoire un espace pour la variable X. Ensuite , cette variable reste en mémoire après la boucle
Dans ton second exemple, tu alloues dans la mémoire un espace pour la variable X autant de fois qu'il passe dans la boucle. (donc il est créé, effacé, créé , effacé). Après la boucle, quand il sortira de la boucle, la variable X est effacée de la mémoire.
Bien entendu, ton deuxième code est plus lent à l'exécution .
Partager