Concetti Chiave

  • Le istruzioni di salto in C alterano il flusso di esecuzione del codice, consentendo di uscire o riavviare cicli.
  • Il comando break esce da cicli o switch, ma non può essere usato con if se non annidato in un ciclo o switch.
  • Il comando continue salta il codice rimanente in un ciclo, proseguendo con l'iterazione successiva.
  • Il goto permette un salto incondizionato all'interno di una funzione, utile per uscire da cicli annidati.
  • Return termina l'esecuzione di una funzione e restituisce il controllo al chiamante, mentre l'uso di queste istruzioni è generalmente sconsigliato per la loro complessità.

Istruzioni di salto in C

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à.


Domande da interrogazione

  1. Qual è la funzione principale dell'istruzione "break" in C?
  2. L'istruzione "break" forza l'uscita da un ciclo o da uno switch, e in caso di cicli annidati, esce dal ciclo più interno. Non può essere utilizzata con if, a meno che non sia annidato in un ciclo o in uno switch.

  3. Quando è consigliabile utilizzare l'istruzione "continue"?
  4. L'istruzione "continue" è utile per riavviare un ciclo, saltando il codice successivo e proseguendo con l'iterazione successiva, specialmente quando la parte successiva del ciclo è complessa e si desidera evitare nidificazioni eccessive.

  5. In quali situazioni l'istruzione "goto" può risultare vantaggiosa?
  6. L'istruzione "goto" può essere utile per gestire errori non banali o per uscire da più cicli innestati quando l'istruzione "break" non è sufficiente, permettendo un salto incondizionato all'interno della funzione.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community