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
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