Přiřazení
From Wikipedia, the free encyclopedia
Remove ads
Příkaz přiřazení se vyskytuje ve většině imperativních programovacích jazyků. Způsobí nastavení či změnu hodnoty nějaké proměnné.
Zápis
Přiřazení se nejčastěji zapisuje pomocí rovnítka:
cíl = výraz
V některých jazycích se (pro odlišení od operátoru porovnání) používá jiný operátor než =
, např. :=
v jazyce Pascal, v učebnicích se někdy používá znak ←
, ten však v praxi většinou není dostupný na klávesnici.
l-hodnota
Cíl (který se podle konvence uvádí vlevo od přiřazení) může být pouze taková konstrukce, u které interpreter nebo překladač daného programovacího jazyka zná, kam bude hodnota uložena. Cíl tedy může být popsán přímo jménem proměnné nebo objektového atributu či tzv. vlastnosti (ve vyšších programovacích jazycích) a nebo (u těch nižších) registrem s výrazem, který nějak určuje cílovou adresu, na kterou má být příslušná hodnota uložena. Některé jazyky pomocí přiřazení abstrahují i např. zápis na některý ze vstupních portů počítače; v takovém případě není cíl určen místem v paměti ale číslem tohoto portu. Vyšší objektové jazyky dovolují přiřazení určité vlastnosti objektu abstrahovat za zavolání objektové metody s hodnotou, jež má být přiřazena, jako parametrem, a je pak na programátorovi aby spolu s přiřazením provedl libovolnou operaci, např. hodnotu zkontroloval a případně odmítl, a podobně.
Některé výrazy však popisují pouze hodnotu, nikoli adresu (např. číselný literál), takové výrazy nemohou být jako cíl přiřazení použity. Bylo „nepsaným pravidlem“ dohodnuto (a většina programovacích jazyků, s výjimkou některých assemblerů, to dodržuje), že cíl, do kterého lze přiřadit (a tedy i předat, zapsat či odeslat hodnotu), bude nalevo od operátoru přiřazení. Tento koncept se někdy označuje jako l-hodnota (anglicky l-value z left-value, tj. „levá hodnota“).
Příklad
i = 10;
*j = i + 3;
k[2] = foo(i, j);
i := 10;
j^ := i + 3;
k[2] := foo(i, j);
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads