Klíčový rozdíl mezi deklarací a definicí v C je ten, že deklarace v C říká kompilátoru o názvu funkce, návratovém typu a parametrech, zatímco definice v C obsahuje skutečnou implementaci funkce. To znamená, že deklarace poskytuje informace o funkci kompilátoru, zatímco definice obsahuje skutečné příkazy funkce k provedení konkrétního úkolu.
C je obecný strukturovaný programovací jazyk. Používá řídicí struktury, jako je if/else, opakování, jako je smyčka for, smyčka while a funkce. Funkce je soubor příkazů, které pomáhají provádět určitý úkol znovu a znovu. Dále je možné volat funkce z hlavní funkce. Po provedení posledního příkazu funkce přejde ovládací prvek zpět do hlavní funkce. Tento článek pojednává o deklaraci a definici funkcí v C a porovnává rozdíl mezi nimi. Definice funkce specifikuje, co funkce dělá, a deklarace určuje, co jde do funkce; je to prototyp.
Co je deklarace v C?
Deklarace poskytuje informace o funkci kompilátoru. Syntaxe prohlášení je následující.
return_ type název_funkce (seznam parametrů);
Předpokládejme funkci, která vypočítá součet dvou celých čísel. Prohlášení je následující.
int součet (int num1, int num2);
Název funkce je suma a parametry jsou dvě celá čísla, která jsou num1 a num2. Tato funkce vrací celé číslo. Celý příkaz končí středníkem.
V deklaraci není nutné uvádět názvy parametrů. Proto je také možné zmínit pouze datový typ následovně. Následuje platné prohlášení.
int součet (int, int);
Co je definice v C?
Definice obsahuje skutečné příkazy funkce k provedení konkrétního úkolu. Syntaxe je následující.
return_type název_funkce (seznam parametrů){
// příkazy funkcí
}
Název funkce pomáhá identifikovat funkci. Při vyvolání funkce přecházejí hodnoty do této funkce. Tyto hodnoty se zkopírují do parametrů. Seznam parametrů může obsahovat jeden parametr nebo několik parametrů. A tyto parametry mají datový typ a název. Navíc mohou existovat funkce bez jakéhokoli parametru.
Příkazy funkce jsou uvnitř složených závorek. Je to funkční tělo. Po provedení funkce vrátí hodnotu. Návratový typ závisí na návratové hodnotě. Pokud funkce vrátí celé číslo, návratový typ je int. Pokud funkce vrátí double, pak návratový typ je double atd.
Odkaz na níže uvedený kód s deklarací a definicí funkce.
Obrázek 01: Program pro výpočet součtu dvou čísel
Podle výše uvedeného programu se na řádku 3 zobrazuje prohlášení. Sděluje kompilátoru název funkce, parametry atd. V hlavní funkci se z klávesnice převezmou dvě hodnoty a uloží se do proměnné ‚a‘a ‚b‘. Na řádku 12 jsou tyto hodnoty předány funkci s názvem sum. Toto „a“a „b“jsou argumenty.
V řádku 16 se provede funkce součtu. Zkopíruje hodnotu a do num1 a hodnotu b do num2. Tato funkce vrátí součet a tuto hodnotu uloží do proměnné „ans“(řádek 12). Nakonec se odpověď vytiskne na obrazovku. Stručně řečeno, řádek 3 zobrazuje deklaraci, zatímco řádek 16 až 18 zobrazuje definici.
Jaký je rozdíl mezi deklarací a definicí v C?
Deklarace je prototyp, který specifikuje název funkce a podpis typu, jako jsou datové typy, návratové typy a parametry, ale vynechává tělo funkce. Definice určuje název funkce a podpisy typu, jako jsou datové typy, návratové typy a parametry, a zahrnuje tělo funkce. Deklarace říká kompilátoru o názvu funkce a o tom, jak ji volat. Na druhou stranu definice obsahuje skutečnou implementaci funkce. Popisuje úkol funkce.
Shrnutí – Deklarace vs definice v C
Rozdíl mezi deklarací a definicí v C je ten, že deklarace v C říká kompilátoru jméno funkce, návratový typ a parametry, zatímco definice v C obsahuje skutečnou implementaci funkce.