C Uživatelem definované funkce

V tomto kurzu se naučíte vytvářet uživatelsky definované funkce v programování C pomocí příkladu.

Funkce je blok kódu, který provádí konkrétní úkol.

C umožňuje definovat funkce podle vašich potřeb. Tyto funkce jsou známé jako funkce definované uživatelem. Například:

Předpokládejme, že musíte vytvořit kruh a obarvit jej v závislosti na poloměru a barvě. K vyřešení tohoto problému můžete vytvořit dvě funkce:

  • createCircle() funkce
  • color() funkce

Příklad: Uživatelem definovaná funkce

Zde je příklad přidání dvou celých čísel. K provedení tohoto úkolu jsme vytvořili uživatelem definované addNumbers().

 #include int addNumbers(int a, int b); // function prototype int main() ( int n1,n2,sum; printf("Enters two numbers: "); scanf("%d %d",&n1,&n2); sum = addNumbers(n1, n2); // function call printf("sum = %d",sum); return 0; ) int addNumbers(int a, int b) // function definition ( int result; result = a+b; return result; // return statement ) 

Funkční prototyp

Prototyp funkce je jednoduše deklarace funkce, která určuje název funkce, parametry a návratový typ. Neobsahuje tělo funkce.

Prototyp funkce poskytuje kompilátoru informace, že funkce může být později použita v programu.

Syntaxe prototypu funkce

 returnType functionName (typ1 argument1, typ2 argument2, …);

Ve výše uvedeném příkladu int addNumbers(int a, int b);je prototyp funkce, který kompilátoru poskytuje následující informace:

  1. název funkce je addNumbers()
  2. návratový typ funkce je int
  3. intfunkci jsou předány dva argumenty typu

Prototyp funkce není nutný, pokud je před main()funkcí definována uživatelem definovaná funkce.

Volání funkce

Ovládání programu se přenáší na uživatelsky definovanou funkci jeho voláním.

Syntaxe volání funkce

 functionName (argument1, argument2, …);

Ve výše uvedeném příkladu se volání funkce provádí pomocí addNumbers(n1, n2);příkazu uvnitř main()funkce.

Definice funkce

Definice funkce obsahuje blok kódu k provedení konkrétního úkolu. V našem příkladu přidání dvou čísel a jejich vrácení.

Syntaxe definice funkce

 returnType functionName (typ1 argument1, typ2 argument2,…) (// tělo funkce) 

Když je funkce vyvolána, řízení programu se přenese do definice funkce. A kompilátor začne vykonávat kódy uvnitř těla funkce.

Předávání argumentů funkci

V programování argument odkazuje na proměnnou předanou funkci. Ve výše uvedeném příkladu jsou během volání funkce předány dvě proměnné n1 a n2.

Parametry a a b přijímá předané argumenty v definici funkce. Tyto argumenty se nazývají formální parametry funkce.

Typ argumentů předaných funkci a formální parametry se musí shodovat, jinak kompilátor vyvolá chybu.

Pokud je n1 typu char, mělo by také být typu char. Pokud je n2 typu float, proměnná b by také měla být typu float.

Funkci lze také volat bez předání argumentu.

Prohlášení o vrácení

Příkaz return ukončí provádění funkce a vrátí hodnotu volající funkci. Ovládací prvek programu se po příkazu return přenese do volající funkce.

Ve výše uvedeném příkladu je hodnota výsledné proměnné vrácena hlavní funkci. Proměnné součtu ve main()funkci je přiřazena tato hodnota.

Syntaxe návratového příkazu

 návrat (výraz); 

Například,

vrátit a; návrat (a + b);

Typ hodnoty vrácené z funkce a návratový typ uvedený v prototypu funkce a definici funkce se musí shodovat.

Na této stránce najdete další informace o předávání argumentů a vracení hodnoty z funkce.

Zajímavé články...