Skip to main content

Co je to sekvenční bod?

Sekvenční bod v počítačovém programování je okamžik, ke kterému dochází během provádění programu, kdy byla hodnota proměnné zcela vypočtena, bez změn čekající z předchozích operací a dosud provedené výpočty v budoucím výrazu.Existuje řada míst, kde existují sekvenční body mdash;primárně definované ve standardu jazyka C mdash;například před provedením kódu uvnitř funkce, na konci kontrolních výrazů v příkazech, jako je pro a pokud a na konci jakéhokoli úplného výrazu, jako je jednoduchý řádek kódu C.Některé důvody pro definování sekvenčního bodu je vyhnout se situacím, které jsou nejednoznačné, vést k nedefinovanému chování nebo by mohly zmást kompilátor a generovat kód, který je nepředvídatelný.V mnoha případech se programátoři nestarají o sekvenční bod, i když při vytváření kompilátoru je tento koncept velmi důležitý pro zajištění správného provedení kódu.

Příklad sekvenčního bodu v programovacím jazyce C je vpříkaz a ' a + b;.V tomto výrazu je sekvenční bod sekvence;Po dokončení výrazu bude vyhodnocena hodnota A a na něm nebudou provedeny žádné zbytkové výpočty, dokud nezačne další výraz.Stejné znamení není sekvenčním bodem, protože hodnota A může být kompilátorem upravena v jakémkoli pořadí v celém výrazu.účel jiný než výpočet změny ve své hodnotě.Porušení tohoto pravidla je nejlépe vyjádřeno při přiřazení hodnoty pole.Pokud existuje proměnná A a pole nazvané I, pak je gramaticky v C napsat výraz i [a] ' a ++.Zde je k proměnné přístup více než jednou za účelem jiné než hodnocení své současné hodnoty;Konkrétně se používá jako index do pole I. To znamená, že kompilátor může zvýšit A dříve, než se použije jako index nebo po jeho použití, a vytvoření nepředvídatelného chování, které se v programu nelze spolehnout.V zásadě lze považovat za způsob, jak zajistit, aby příkazy mohly a budou důsledně vyhodnoceny a prováděny kompilátorem.To také umožňuje kompilátoru používat optimalizační strategie, protože definované chování je předvídatelné.V rámci jazykového standardu C existují tři hlavní instance sekvenčních bodů, a to, když funkce začíná provádění, v okamžiku logických operátorů a čárky, a na konci úplného výrazu, který končí semikolonem, jak to dělá většina prohlášení C.