C LanguagePunti di sequenza


Osservazioni

Standard internazionale ISO / IEC 9899: 201x Linguaggi di programmazione - C

L'accesso a un oggetto volatile, la modifica di un oggetto, la modifica di un file o il richiamo di una funzione che esegue una di queste operazioni sono tutti effetti collaterali , che sono cambiamenti nello stato dell'ambiente di esecuzione.

La presenza di un punto di sequenza tra la valutazione delle espressioni A e B implica che ogni calcolo del valore ed effetto collaterale associato ad A viene sequenziato prima di ogni calcolo del valore ed effetto collaterale associato a B.

Ecco l'elenco completo dei punti di sequenza dell'allegato C della bozza di pre-pubblicazione online 2011 dello standard di lingua C:

Punti di sequenza

1 I seguenti sono i punti di sequenza descritti in 5.1.2.3:

  • Tra le valutazioni del designatore di funzioni e gli argomenti effettivi in ​​una chiamata di funzione e la chiamata effettiva. (6.5.2.2).
  • Tra le valutazioni del primo e del secondo operando dei seguenti operatori: AND logico && (6.5.13); OR logico || (6.5.14); comma , (6.5.17).
  • Tra le valutazioni del primo operando del condizionale ? : viene valutato l'operatore e il secondo e il terzo operando (6.5.15).
  • La fine di un dichiarante completo: dichiarators (6.7.6);
  • Tra la valutazione di un'espressione completa e la successiva espressione completa da valutare. Le seguenti sono espressioni complete: un inizializzatore che non fa parte di un letterale composto (6.7.9); l'espressione in un'espressione (6.8.3); l'espressione di controllo di una dichiarazione di selezione ( if o switch ) (6.8.4); l'espressione di controllo di un while o do statement (6.8.5); ciascuna delle espressioni (facoltative) di una dichiarazione for (6.8.5.3); l'espressione (facoltativa) in una dichiarazione di return (6.8.6.4).
  • Immediatamente prima che una funzione di libreria ritorni (7.1.4).
  • Dopo le azioni associate a ciascun identificatore di conversione della funzione di input / output formattato (7.21.6, 7.29.2).
  • Immediatamente prima e immediatamente dopo ogni chiamata a una funzione di confronto, e anche tra qualsiasi chiamata a una funzione di confronto e qualsiasi movimento degli oggetti passati come argomenti a quella chiamata (7.22.5).

Punti di sequenza Esempi correlati