Concetti Chiave
- Le istruzioni di salto in C sono quattro: break, continue, goto e return, usate per alterare il flusso di esecuzione del codice.
- Break è utilizzato per uscire da un ciclo o uno switch, ma non può essere usato con if a meno che non sia all'interno di un ciclo o switch.
- Continue forza il riavvio di un ciclo, permettendo di passare direttamente all'iterazione successiva senza eseguire il codice rimanente.
- Goto consente un salto incondizionato a un punto specifico nel codice, utile in caso di gestione di errori complessi o uscite da cicli innestati multipli.
- Return termina l'esecuzione di una funzione restituendo il controllo alla funzione chiamante, ed è generalmente considerato accettabile da usare.
Istruzioni di salto
Le istruzioni di salto permettono di alterare il flusso di esecuzione di un codice. In C sono 4 le istruzioni di salto:
- break: forza l’uscita da un ciclo o dallo switch, quando è presente in cicli annidati comporta l’uscita dal ciclo più interno. Non può essere utilizzato con if, a meno che questo non sia annidato in un ciclo o in uno switch (errore di compilazione)
- continue: forza il riavvio di un ciclo, quindi salta tutto il codice che la segue e prosegue con l’iterazione successiva. Se usata con for, il salto continua con l’incremento/decremento. Viene spesso usata quando la parte successiva del ciclo è molto complicata per evitare di invertire un test e creare un altro livello che porta a codice troppo nidificato.
- goto: forza il salto incondizionato dal punto in cui è specificata l’istruzione ad un altro interno alla funzione. Per il goto è necessario specificare una label, in maiuscolo, seguita da : e dall’istruzione in questione. Infatti la sintassi è: goto label e label:, il suo scope e l’intera funzione. Qualche volta questa funzione può risultare utile nel caso in cui si debba uscire da più cicli innestati e l’istruzione break risulti insufficiente. Una situazione in cui può essere molto utile e per la gestione di errori non banali e quando gli errori si possono verificare in più parti del codice.
- return: termina l’esecuzione di una funzione e fa ritornare il controllo al chiamante
Il loro uso è sconsigliabile, ad eccezione, in certi casi, di break e return, poiché provocherebbero illeggibilità.