Sdílet prostřednictvím


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 nebo switch) 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 nebo do 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ší iteraci while smyčky nebo do 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ší iteraci for 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.

Viz také

Vyhodnocení výrazu