Předání parametru odkazem

Předání parametru hodnotou

Jedná se o námi doposud užíváný způsob předání parametrů funkci, který je vhodný pouze pro vstupní parametry a datové typy s relativně malou velikostí (základní datové typy, malé struktury).

Formální parametr je běžná proměnná požadovaného typu (např. int moje_fce(int data);), skutečný parametr při volání funkce je pak libovolný výraz daného typu (např. vysl = moje_fce(3 * cislo);).

Při realizaci volání funkce se hodnota skutečného parametru ukládá do oblasti parametrů funkce v paměti.

terminologie: parametr versus argument

Předání parametru odkazem

Tento způsob předání parametrů lze použít jak pro vstupní tak pro výstupní parametry funkce. Běžně se používá se pro předání pole (pole nelze předat hodnotou), větších struktur a jakýchkoli dalších typů, mají-li být výstupní.

Formální parametr zde je ukazatel na požadovaný typ (např. int moje_fce(int *data);), skutečný parametr při volání funkce je pak adresní výraz (např. vysl = moje_fce(&cislo);). Při realizaci volání funkce se do oblasti parametrů funkce ukládá pouze adresa, funkce používá dereferenci, data se nekopírují a lze k nim tedy přistoupit i po opuštění funkce.


cc,upol

jazykc/predani-parametru-odkazem.txt · Last modified: 2015/01/15 20:48 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0