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

22. Rekurze, prototyp funkce.

Rekurze:

Jako rekurzivní označujeme takové volání funkce F, které nastane dříve, než je dokončeno volání předchozí.

Příklad

Klasickým příkladem na rekurzivní výpočty je funkce faktoriál:

unsigned long Fak(unsigned n)
{
if(n) return n*Fak(n-1);
else return 1;
}


Prototyp funkce(deklarace funkce) – zkopírováno z otázky č.5:

Deklarace funkce je vlastně způsob jak dát překladači všechny potřebné údaje o funkci, aniž bychom ji museli celou definovat(viz Definice funkce výše). Předtím, než funkci zavoláme, měla by být vždy předem definována, nebo deklarována. To proto, aby překladač znal všechny formální parametry, a tak mohl vytvořit správný kód.

Pokud funkci nebudeme ještě před jejím voláním deklarovat ani definovat, bude překladač odhadovat formální parametry podle typu skutečných parametrů (parametry předané funkci při jejím volání), které ale nemusí odpovídat typu parametrů formálních. Výsledkem by pak byl nesprávně sestavený kód. Pokud ale z nějakého důvodu není funkce definována před svým použitím, měla by být alespoň deklarována.

Deklarace funkce vypadá takhle:

návratový_typ identifikátor_funkce (seznam definicí formálních parametrů);

Je to vlastně celá hlavička definice, která je ale zakončená středníkem.

int secti (int a, int b); /*prototyp funkce - deklarace výše definované funkce.*/

Žádné komentáře:

Okomentovat