V programování v C Jaký je rozdíl mezi deklarací a definicí proměnné / funkce?


Odpověď 1:

Deklarace říká, co je proměnná / funkce. Definice říká, jak proměnná / funkce funguje. V případě C musíte před použitím proměnnou / funkci deklarovat nebo definovat. Pokud právě deklarujete funkci, pak můžete program zkompilovat, ale nemůžete jej sestavit, dokud nebudou definovány v kódu nebo knihovně.


Odpověď 2:

Prohlášení prohlašuje, že věc (proměnná / funkce) existuje NĚKTERÉ, a poskytuje o ní alespoň některé informace o typu. Deklarace pole nemusí udávat jeho délku. Deklarace funkce nemusí poskytovat prototyp definující parametry, které má. Prohlášení pro strukturu / unii / enum nemusí definovat její členy.

Definice pro tyto věci nejen říká, že věc existuje, ale poskytuje všechny potřebné podrobnosti přímo tam.


Odpověď 3:

Otázka zní: „Programování v C Jaký je rozdíl mezi deklarací a definicí proměnné / funkce?“

Prohlášení označuje název a typ proměnné (nebo funkce).

Definice přiděluje úložiště pro něj.

Někdy stejný příkaz dělá oboje - například „statické“ deklarace proměnných v kompilačním rozsahu nebo automatické (nebo statické) proměnné uvnitř rozsahu funkce.

Někdy bude „externí“ kvalifikátor na prototypu proměnné nebo funkce označovat deklaraci s definicí uvedenou v jiném rozsahu kompilace.


Odpověď 4:

Prohlášení: mělo by být v hlavičkovém souboru: říká, že budu dělat funkci, která vrací určitý typ, má toto jméno a bere tyto argumenty.

Definice: měla by být ve zdrojovém souboru C: opakuje definici funkce, ale za ní následuje středník. Místo toho následuje otevřená rovnátka {a mezi touto a blízkou rovnátkou} jsou příkazy zdrojového kódu, které implementují funkci.


Odpověď 5:

Prohlášení: mělo by být v hlavičkovém souboru: říká, že budu dělat funkci, která vrací určitý typ, má toto jméno a bere tyto argumenty.

Definice: měla by být ve zdrojovém souboru C: opakuje definici funkce, ale za ní následuje středník. Místo toho následuje otevřená rovnátka {a mezi touto a blízkou rovnátkou} jsou příkazy zdrojového kódu, které implementují funkci.


Odpověď 6:

Prohlášení: mělo by být v hlavičkovém souboru: říká, že budu dělat funkci, která vrací určitý typ, má toto jméno a bere tyto argumenty.

Definice: měla by být ve zdrojovém souboru C: opakuje definici funkce, ale za ní následuje středník. Místo toho následuje otevřená rovnátka {a mezi touto a blízkou rovnátkou} jsou příkazy zdrojového kódu, které implementují funkci.