[stmt.expr] # 8 Statements [[stmt]](./#stmt) ## 8.3 Expression statement [stmt.expr] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/statements.tex#L217) Expression statements have the form [expression-statement:](#nt:expression-statement "8.3 Expression statement [stmt.expr]") [*expression*](expr.comma#nt:expression "7.6.20 Comma operator [expr.comma]")opt ; The expression is a [discarded-value expression](expr.context#def:discarded-value_expression "7.2.3 Context dependence [expr.context]")[.](#1.sentence-2) Allside effects from an expression statement are completed before the next statement is executed[.](#1.sentence-3) An expression statement with the [*expression*](expr.comma#nt:expression "7.6.20 Comma operator [expr.comma]") missing is called a [*null statement*](#def:statement,null "8.3 Expression statement [stmt.expr]")[.](#1.sentence-4) [*Note [1](#note-1)*: Most statements are expression statements — usually assignments or function calls[.](#1.sentence-5) A null statement is useful to supply a null body to an iteration statement such as a while statement ([[stmt.while]](stmt.while "8.6.2 The while statement"))[.](#1.sentence-6) — *end note*]