Mikä on sekvenssipiste?

Tietokoneohjelmoinnin sekvenssipiste on hetki, joka esiintyy ohjelman suorittamisen aikana, kun muuttujan arvo on laskettu kokonaan, eikä muutoksia ole odotettavissa aiemmista operaatioista eikä tulevassa lausekkeessa ole vielä suoritettu laskelmia. On olemassa useita paikkoja, joissa on järjestyspisteitä – jotka on määritelty ensisijaisesti C -kielistandardissa – kuten ennen koodin suorittamista funktion sisällä, ohjauslausekkeiden lopussa lausekkeissa, kuten “for” ja “if”, ja minkä tahansa täydellisen lausekkeen, kuten yksinkertaisen C -koodirivin, lopussa. Joitakin syitä sekvenssipisteen määrittämiselle on välttää epäselviä tilanteita, jotka johtavat määrittelemättömään käyttäytymiseen tai jotka voivat hämmentää kääntäjää ja luoda koodia, joka on arvaamaton. Monissa tapauksissa ohjelmoijat eivät ole erityisen huolissaan sekvenssipisteestä, vaikka kääntäjän luomisessa konsepti on erittäin tärkeä koodin oikean suorittamisen varmistamiseksi.

Esimerkki C -ohjelmointikielen sekvenssipisteestä on lausekkeessa A = A + B ;. Tässä lausekkeessa puolipiste on sekvenssipiste; kun lauseke on valmis, A: n arvo arvioidaan eikä sille suoriteta jäännöslaskelmia ennen kuin seuraava lauseke alkaa. Tasa -merkki ei ole sekvenssipiste, koska kääntäjä voi muuttaa A -arvoa missä tahansa järjestyksessä koko lausekkeen ajan.

Järjestyspisteen pääsääntö on, että mitään muuttujaa ei käytetä useammin kuin kerran pisteiden välillä muuhun tarkoitukseen kuin sen arvon muutoksen laskemiseen. Tämän säännön rikkominen ilmenee parhaiten, kun määrität arvon taulukolle. Jos on olemassa muuttuja A ja taulukko nimeltä I, niin kieliopillisesti C: ssä on mahdollista kirjoittaa lauseke I [A] = A ++. Tässä muuttujaa käytetään useammin kuin kerran muuhun tarkoitukseen kuin sen nykyisen arvon arvioimiseen; Sitä käytetään nimittäin taulukon I indeksinä. Tämä tarkoittaa sitä, että kääntäjä saattaa lisätä A: ta ennen kuin sitä käytetään indeksinä tai sen käytön jälkeen, mikä luo arvaamatonta käyttäytymistä, johon ei voi luottaa ohjelmassa.

Järjestyspiste voidaan periaatteessa pitää keinona varmistaa, että kääntäjä voi arvioida ja suorittaa johdonmukaisesti lausekkeet. Tämän ansiosta kääntäjä voi myös käyttää optimointistrategioita, koska määritelty käyttäytyminen on ennakoitavissa. C -kielistandardissa on kolme pääjaksoa sekvenssipisteistä, nimittäin silloin, kun funktio alkaa suorittaa, loogisten operaattoreiden ja pilkujen kohdalla ja täydellisen lausekkeen lopussa, joka päättyy puolipisteeseen, kuten useimmat C -käskyt tekevät .