V jazyce C jsou funkce základním stavebním kamenem struktury programu. Funkce umožňují organizovat kód do menších logických celků, což zlepšuje čitelnost, znovupoužitelnost a údržbu kódu. V tomto výkladu se podrobně zaměříme na deklarace a definice funkcí v jazyce C a poskytneme konkrétní příklady jejich použití.
Deklarace funkce je deklarace (popis) funkce, která udává název funkce, návratový typ, seznam parametrů a nezbytné informace pro kompilátor o tom, jak funkce bude použita. Deklarace se obvykle umísťuje na začátek souboru nebo v hlavičkovém souboru (.h) a slouží k informování kompilátoru o existenci dané funkce. Syntaxe deklarace vypadá následovně:
návratový_typ název_funkce(parametry);
Příklad deklarace funkce:
int soucet(int a, int b);
Definice funkce obsahuje implementaci (kód) samotné funkce a definuje, co funkce provádí. Definice obsahuje název funkce, návratový typ, seznam parametrů a tělo funkce, které obsahuje kód, který se provede při volání funkce. Syntaxe definice vypadá následovně:
návratový_typ název_funkce(parametry) {
// kód funkce
}
Příklad definice funkce:
int soucet(int a, int b) {
return a + b;
}
V tomto příkladu je funkce soucet
definována tak, že přijímá dva parametry a
a b
, které jsou typu int
, a vrací jejich součet.
Nyní si ukážeme příklad, jak použít deklaraci a definici funkce v jednom programu. Nejprve deklarujeme funkci a poté ji definujeme. Nakonec voláme tuto funkci v hlavní funkci programu.
// Deklarace funkce
int soucet(int a, int b);
// Definice funkce
int soucet(int a, int b) {
return a + b;
}
int main() {
int x = 5;
int y = 10;
int vysledek = soucet(x, y);
printf("Soucet %d a %d je %d.\n", x, y, vysledek);
return 0;
}
V tomto příkladu se funkce soucet
nejprve deklaruje na začátku programu, což umožňuje použití funkce v hlavní funkci. Poté se funkce definuje, kde je implementována operace sčítání. Nakonec se funkce volá v hlavní funkci programu main
, kde jsou předány argumenty x
a y
.
Deklarace a definice funkcí jsou klíčovými koncepty v jazyce C a umožňují organizaci kódu do snadno spravovatelných a znovupoužitelných bloků kódu.