La meilleure façon d'écrire une boucle est:
for(i=0; i<N; i++)
for(j=0; j<N; j++)
{
array[i][j] = ... ;
}
Tout le reste est « optimisations prématurées », à savoir des choses que le compilateur devrait vraiment être capable de gérer pour vous. Cependant, si vous avez un compilateur bête, il peut être plus efficace de compter de N à zéro, car la comparaison avec zéro est plus rapide que la comparaison avec la valeur sur la plupart des processeurs.
Notez que N devrait être une expression constante si possible. Laissez les appels de fonction comme strlen() etc de la comparaison de boucle.
++ Je serai également plus rapide si le code peut aboutir à un compilateur C++, où le standard C++ garantit que ++ i est plus rapide que i ++, car i ++ crée une variable invisible temporaire. L'ordre de la boucle devrait être juste comme ci-dessus pour la plupart des systèmes, car c'est souvent le moyen le plus efficace d'adresser les mémoires caches, ce qui est un sujet assez avancé. Qu'aurait-il à voir avec les systèmes embarqués?
Même si c'était le cas, cela serait spécifique au processeur utilisé. –