Punti di sequenza c
Tra consecutivo “punti di sequenza„ valore di un oggetto possono essere modificati solo una volta in un'espressione.il linguaggio C definisce i seguenti punti di sequenza:
Operando sinistro dell'operatore AND logico (&&).L'operando sinistro dell'operatore AND logico completamente viene valutato e tutti gli effetti collaterali completate prima di continuare.Se l'operando di sinistra restituisce false (0), l'altro operando non viene valutato.
Operando sinistro dell'operatore OR logico (||).L'operando sinistro dell'operatore OR logico completamente viene valutato e tutti gli effetti collaterali completate prima di continuare.Se l'operando di sinistra restituisce true (diverso da zero, l'altro operando non viene valutato.
Operando sinistro dell'operatore virgola.L'operando sinistro dell'operatore virgola completamente viene valutato e tutti gli effetti collaterali completate prima di continuare.Entrambi gli operandi dell'operatore virgola vengono sempre valutate.Si noti che l'operatore virgola in una chiamata di funzione non garantisce un ordine di valutazione.
operatore di chiamata di funzione.Tutti gli argomenti a una funzione vengono valutati e tutti gli effetti collaterali completate prima della voce della funzione.Nessun ordine di valutazione tra gli argomenti è specificato.
Primo operando dell'operatore condizionale.Il primo operando dell'operatore condizionale completamente viene valutato e tutti gli effetti collaterali completate prima di continuare.
La fine di un'espressione di inizializzazione completata ovvero un'espressione che non fa parte di un'altra espressione come terminazione di un'inizializzazione in un'istruzione di dichiarazione).
Espressione di espressione.Le istruzioni di espressione sono costituiti da un'espressione facoltativa seguita da un punto e virgola (;).L'espressione viene valutata per i relativi effetti collaterali ed esiste un punto di sequenza che segue questa valutazione.
l'espressione di controllo in una selezione (se o switch) istruzione.L'espressione viene valutata completamente e tutti gli effetti collaterali prima di completare il dipendente di codice alla selezione venga eseguito.
L'espressione di controllo di un oggetto while o fare istruzione.L'espressione viene valutata completamente e tutti gli effetti collaterali completate prima delle istruzioni nell'iterazione successiva di while o fare il ciclo viene eseguito.
Ciascuna delle espressioni di un oggetto per istruzione.Le espressioni completamente vengono valutate e tutti gli effetti collaterali completate prima delle istruzioni nell'iterazione successiva di per il ciclo viene eseguito.
L'espressione a l return istruzione.L'espressione viene valutata completamente e tutti gli effetti collaterali completate prima che venga restituito alla funzione chiamante.