Salve, volevo sapere come si comporta un compilatore C (precisamente il gcc) davanti ad un ciclo iterattivo (per esempio il for).

Più precisamente vorrei sapere questo:

codice:
for (i = 0; i < strlen(stringa); i++)
 istruzione..
codice:
l = strlen(stringa);
for (i = 0; i < l; i++)
 istruzione..
La domanda quindi è:
La funzione per il calcolo della lunghezza di una stringa il compilatore la ripete ogni volta, oppure se la tiene in memoria da qualche parte?

Grazie per le risposte