Hledejte v chronologicky řazené databázi studijních materiálů (starší / novější příspěvky).

11. Volání funkce.

Volání funkce:
identifikátor_funkce (seznam parametrů);

Jednotlivé výrazy v seznamu parametrů jsou odděleny čárkou. Samotné parametry jsou pak výrazy, které jsou před předáním řízení funkci vyhodnoceny a jejich výsledné hodnoty jsou funkci předány. I když funkce nemá žádné skutečné parametry, závorky je nutné vždy uvést! Samotné volání funkce je chápáno jako výraz a to určuje i místo jeho použití.
Např. operand některého operátoru(viz operátory tj. +,-,/,*,==,&&,||,atd.), ve výrazovém příkazu:

if(secti(4,5) == 9){ //výrazový příkaz(aspoň doufám)
vysledek = secti(3,2) + 5; //operand operátoru +
}

Jako skutečný parametr jiné nebo stejné funkce:
vysledek = secti(secti(5,8),3);

Při volání funkce je provedeno několik kroků. Nejdříve je uložena adresa instrukce, na kterou se skočí po skončení provádění funkce. Pak se alokuje paměť pro formální parametry funkce(viz seznam definicí formálních parametrů z Definice funkce), do kterých se následně zkopírují hodnoty parametrů skutečných.

Formální parametry jsou vlastně lokální proměnné, a tedy existují pouze po dobu vykonávání funkce a jsou viditelné pouze z těla funkce. Když vykonávání funkce skončí, je paměť vyhrazená pro tyto proměnné uvolněna a jako výsledek volání funkce se použije její návratová hodnota (většinou tedy hodnota výrazu za příkazem return). Uvedený způsob předávání parametrů se nazývá předávání hodnotou a znamená, že hodnoty skutečných parametrů jsou pouze zkopírovány do formálních parametrů. Ve funkci se pak pracuje pouze s těmito kopiemi. Předávání parametrů odkazem je realizováno pomocí ukazatelů.viz Předávání
parametrů funkci!

Žádné komentáře:

Okomentovat