Rozdiel medzi vyhlásením a definíciou v C

kľúčový rozdiel medzi vyhlásením a definíciou v bode C je to vyhlásenie v C hovorí kompilátoru o názve funkcie, type návratu a parametroch, zatiaľ čo definícia v C obsahuje skutočnú implementáciu funkcie. To znamená, že deklarácia poskytuje kompilátoru informácie o funkcii, zatiaľ čo definícia obsahuje skutočné príkazy funkcie na vykonanie konkrétnej úlohy.

C je štruktúrovaný programovací jazyk na všeobecné použitie. Používa riadiace štruktúry, ako napríklad if / else, opakovania, napríklad pre loop, while loop a funkcie. Funkcia je množina príkazov, ktoré pomáhajú opakovane vykonávať určitú úlohu. Ďalej je možné vyvolať funkcie z hlavnej funkcie. Po vykonaní posledného príkazu funkcie prechádza ovládací prvok späť na hlavnú funkciu. Tento článok pojednáva o deklarácii a definícii funkcií v jazyku C a porovnáva ich rozdiel. Definícia funkcie určuje, čo funkcia robí, a vyhlásenie určuje, čo sa týka funkcie; je to prototyp.

OBSAH

1. Prehľad a kľúčový rozdiel
2. Čo je vyhlásenie v bode C
3. Čo je definícia v C
4. Porovnanie bok po boku - Deklarácia vs Definícia v C v tabuľkovej forme
5. Zhrnutie

Čo je vyhlásenie v C?

Vyhlásenie poskytuje kompilátoru informácie o funkcii. Syntax pre vyhlásenie je nasledovná.

return_ type function_name (zoznam parametrov);

Predpokladajme funkciu, ktorá počíta súčet dvoch celých čísel. Vyhlásenie je nasledujúce.

int suma (int num1, int num2);

Názov funkcie je súčet a parametre sú dve celé čísla, ktoré sú num1 a num2. Táto funkcia vráti celé číslo. Úplné vyhlásenie sa končí bodkočiarkou.

V deklarácii nie je potrebné uvádzať názvy parametrov. Preto je tiež možné uviesť iba nasledujúci typ údajov. Nasleduje platné vyhlásenie.

int suma (int, int);

Čo je definícia v C?

Definícia obsahuje skutočné príkazy funkcie na vykonanie konkrétnej úlohy. Syntax je nasledovná.

return_type function_name (zoznam parametrov)

// príkazy funkcií

Názov funkcie pomáha pri identifikácii funkcie. Pri vyvolaní funkcie hodnoty prechádzajú na túto funkciu. Tieto hodnoty sa skopírujú do parametrov. Zoznam parametrov môže obsahovať jeden parameter alebo počet parametrov. A tieto parametre majú typ údajov a názov. Okrem toho môžu existovať aj funkcie bez akýchkoľvek parametrov.

Vyhlásenia o funkcii sú vo vnútri zložených zátvoriek. Je to funkčné telo. Po vykonaní funkcie vráti hodnotu. Typ vrátenia závisí od návratovej hodnoty. Ak funkcia vráti celé číslo, návratový typ je int. Ak funkcia vráti dvojnásobok, potom je návratový typ dvojitý atď.

Nižšie uvedený kód uveďte s vyhlásením a definíciou funkcie.

Obrázok 01: Program na výpočet súčtu dvoch čísel

Podľa vyššie uvedeného programu sa v riadku 3 nachádza vyhlásenie. Hovorí kompilátoru o názve funkcie, parametroch atď. V hlavnej funkcii sa z klávesnice vyberú dve hodnoty a uložia sa do premennej „a“ a „b“. V riadku 12 sú tieto hodnoty odovzdané do funkcie nazývanej sum. Toto „a“ a „b“ sú argumenty.

V riadku 16 sa vykoná funkcia súčtu. Skopíruje hodnotu a na num1 a hodnotu b na num2. Táto funkcia vráti súčet a táto hodnota sa uloží do premennej „ans“ (riadok 12). Nakoniec sa odpoveď vytlačí na obrazovku. Stručne povedané, riadok 3 zobrazuje vyhlásenie, zatiaľ čo riadky 16 až 18 zobrazujú definíciu.

Aký je rozdiel medzi deklaráciou a definíciou v C?

Vyhlásenie je prototyp, ktorý špecifikuje názov funkcie a typový podpis, ako sú dátové typy, návratové typy a parametre, ale vynecháva telo funkcie. Definícia špecifikuje názov funkcie a podpisy typu, ako sú dátové typy, návratové typy a parametre, a zahŕňa telo funkcie. Deklarácia hovorí kompilátoru o názve funkcie a o tom, ako ju nazvať. Na druhej strane definícia obsahuje skutočnú implementáciu funkcie. Opisuje úlohu funkcie.

Zhrnutie - Deklarácia vs Definícia v C

Rozdiel medzi deklaráciou a definíciou v C je ten, že deklarácia v C hovorí kompilátoru o názve funkcie, type návratu a parametroch, zatiaľ čo definícia v C obsahuje skutočnú implementáciu funkcie.

referencie:

1. Príručky Bod. „Funkcie C.“ Výukové programy Point, 19. marca 2018. K dispozícii tu  
2. „Prototyp funkcie“. Wikipedia, Nadácia Wikimedia Foundation, 28. mája 2018. K dispozícii tu