Rozdiel medzi deklaráciou a definíciou v C

Obsah:

Rozdiel medzi deklaráciou a definíciou v C
Rozdiel medzi deklaráciou a definíciou v C

Video: Rozdiel medzi deklaráciou a definíciou v C

Video: Rozdiel medzi deklaráciou a definíciou v C
Video: Marian Kotleba kritizuje ministra Lajčáka za obhajovanie imigrácie a zrádzanie Slovenska 2024, Júl
Anonim

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

C je všeobecný štruktúrovaný programovací jazyk. Používa riadiace štruktúry ako if/else, opakovania ako cyklus for, cyklus while a funkcie. Funkcia je súbor príkazov, ktoré pomáhajú vykonávať určitú úlohu znova a znova. Ďalej je možné volať funkcie z hlavnej funkcie. Po vykonaní posledného príkazu funkcie prejde riadenie späť do hlavnej funkcie. Tento článok pojednáva o deklarácii a definícii funkcií v C a porovnáva rozdiel medzi nimi. Definícia funkcie špecifikuje, čo funkcia robí, a deklarácia špecifikuje, čo ide do funkcie; je to prototyp.

Čo je deklarácia v jazyku C?

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

return_ type function_name (zoznam parametrov);

Predpokladajme funkciu, ktorá vypočítava súčet dvoch celých čísel. Vyhlásenie je nasledovné.

int súčet (int num1, int num2);

Názov funkcie je sum a parametre sú dve celé čísla, ktoré sú num1 a num2. Táto funkcia vráti celé číslo. Celý výpis končí bodkočiarkou.

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

int súčet (int, int);

Čo je definícia v jazyku C?

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

return_type názov_funkcie (zoznam parametrov){

// príkazy funkcie

}

Názov funkcie pomáha identifikovať funkciu. Pri vyvolaní funkcie prechádzajú hodnoty do tejto funkcie. 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éhokoľvek parametra.

Príkazy funkcie sú v zložených zátvorkách. Je to telo funkcie. Po vykonaní funkcie vráti hodnotu. Typ návratu závisí od návratovej hodnoty. Ak funkcia vráti celé číslo, návratový typ je int. Ak funkcia vráti double, potom návratový typ je double atď.

Odkaz na kód uvedený nižšie s deklaráciou a definíciou funkcie.

Rozdiel medzi deklaráciou a definíciou v C
Rozdiel medzi deklaráciou a definíciou v C

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

Podľa vyššie uvedeného programu sa v riadku 3 zobrazuje vyhlásenie. Informuje kompilátor o názve funkcie, parametroch atď. V hlavnej funkcii sa z klávesnice prevezmú dve hodnoty, ktoré sa uložia do premennej ‚a‘a ‚b‘. V riadku 12 sú tieto hodnoty odovzdané funkcii s názvom sum. Toto „a“a „b“sú argumenty.

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

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

Deklarácia je prototyp, ktorý špecifikuje názov funkcie a podpis typu, 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ú typy údajov, návratové typy a parametre, a zahŕňa telo funkcie. Deklarácia informuje kompilátor o názve funkcie a spôsobe jej volania. Na druhej strane definícia obsahuje skutočnú implementáciu funkcie. Popisuje úlohu funkcie.

Rozdiel medzi deklaráciou a definíciou v C v tabuľkovej forme
Rozdiel medzi deklaráciou a definíciou v C v tabuľkovej forme

Zhrnutie – Vyhlásenie verzus 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, návratovom type a parametroch, zatiaľ čo definícia v C obsahuje skutočnú implementáciu funkcie.

Odporúča: