Body sekvence jazyka C
Mezi po sobě jdoucími body sekvence lze hodnotu objektu upravit pouze jednou výrazem. Jazyk C definuje následující sekvence bodů:
Levý operand logického operátoru AND (&). Levý operand logického operátoru AND je zcela vyhodnocen a všechny vedlejší účinky jsou dokončeny před pokračováním. Pokud se levý operand vyhodnotí jako false (0), druhý operand se nevyhodnotí.
Levý operand logického operátoru OR (
||
). Levý operand logického operátoru OR je zcela vyhodnocen a všechny vedlejší účinky jsou dokončeny před pokračováním. Pokud se levý operand vyhodnotí jako true (nenulový), druhý operand se nevyhodnotí.Levý operand operátoru čárky. Levý operand operátoru čárky je zcela vyhodnocen a všechny vedlejší účinky jsou dokončeny před pokračováním. Oba operandy operátoru čárky jsou vždy vyhodnoceny. Všimněte si, že operátor čárky ve volání funkce nezaručuje pořadí vyhodnocení.
Operátor volání funkce. Všechny argumenty funkce jsou vyhodnoceny a všechny vedlejší účinky jsou dokončeny před vstupem do funkce. Není zadáno žádné pořadí vyhodnocení mezi argumenty.
První operand podmíněného operátoru. První operand podmíněného operátoru je zcela vyhodnocen a všechny vedlejší účinky jsou dokončeny před pokračováním.
Konec výrazu úplné inicializace (to znamená výraz, který není součástí jiného výrazu, například konec inicializace v příkazu deklarace).
Výraz v příkazu výrazu. Příkazy výrazů se skládají z volitelného výrazu následovaného středníkem (;). Výraz se vyhodnocuje pro vedlejší účinky a po tomto vyhodnocení existuje bod sekvence.
Řídicí výraz v příkazu výběru (
if
neboswitch
) Výraz je zcela vyhodnocen a všechny vedlejší účinky jsou dokončeny před spuštěním kódu závislého na výběru.Řídicí výraz
while
příkazu nebodo
příkazu. Výraz je zcela vyhodnocen a všechny vedlejší účinky jsou dokončeny před provedením libovolných příkazů v další iteraciwhile
smyčky nebodo
smyčky.Každý ze tří výrazů
for
příkazu. Výrazy jsou zcela vyhodnoceny a všechny vedlejší účinky jsou dokončeny před provedením všech příkazů v další iteracifor
smyčky.Výraz v
return
příkazu. Výraz je zcela vyhodnocen a všechny vedlejší účinky jsou dokončeny před návratem ovládacího prvku do volající funkce.