Eenvoudig gezegd, voor nieuwkomers, wat is het verschil tussen "aangifte" en "definitie" in C?


Antwoord 1:

In context van C-taal verwijst Declaration naar het vertellen van de compiler de naam, het type en de handtekening van functies of methoden.

bv:

/ * Functiom verklaren * /
 FooBar (Argumentenlijst met gegevenstype);

We kunnen hier zien dat het eindigt op een puntkomma en dat het een regelcode is die alleen de naam van de compiler, het argument en het type van een functie aangeeft.

Overwegende dat definitie gaat over het definiëren van de feitelijke inhoud (hoofdtekst) van die functie. Dat omvat alle codes en logica's en alles, die beschrijft welke functie eigenlijk doet.

bv:

/ * Bepalende functie * /
 FooBar (Argumentenlijst met gegevenstype)
{
  / * Lokale variabele verklaring * /
  / *
   Lijnen met code die actuele programmalogica bevatten
  * /
   retourneer ;
}

In C moet de aangifte worden gedaan voordat die functie wordt gebruikt, zodat de compiler geen fout genereert, terwijl de functiedefinitie ergens in het huidige bereik van het programma kan zijn.

Dank je


Antwoord 2:

Een verklaring informeert de compiler van tevoren over het type, de grootte van de variabele en over de parameters, het retourtype van de functie.

Er vindt geen geheugentoewijzing plaats tijdens de aangifte.

ex: int j;

Definitie: Het "definieert" wat die variabele / functie doet, welke waarde het aanneemt. De daadwerkelijke geheugentoewijzing gebeurt na de definitie.

ex: j = 3;


Antwoord 3:

Een verklaring is precies dat - het is er om de compiler te laten weten dat hij de definitie later in de broncode zal vinden. Het staat meestal in een header-bestand (.h- of .hpp-extensie) en de bron (c- of cpp-extensie) heeft meestal de definitie. Het doel van de verklaring is om een ​​programmeur toe te staan ​​die de functie of klasse gebruikt die u aangeeft de functie of klasse te kunnen gebruiken - ze hebben geen definitie nodig, want dat is de broncode die de compiler vertelt hoe hij eigenlijk moet doen wat de functie / klasse moet doen, maar de verklaring vertelt hen wat de functie retourneert, welke argumenten de functie aanneemt, en de naam van de functie zodat ze de functie later vanuit hun code kunnen aanroepen. Als het tot nu toe niet duidelijk was, heeft de definitie de broncode om de functie te definiëren (vandaar het woord "definitie"). Een voorbeeld van beide is hier:

//verklaring
int doSomething (int x, int y);

//definitie
int doSomething (int x, int y)
{
retour (x * y);
}

Antwoord 4:

Een verklaring is precies dat - het is er om de compiler te laten weten dat hij de definitie later in de broncode zal vinden. Het staat meestal in een header-bestand (.h- of .hpp-extensie) en de bron (c- of cpp-extensie) heeft meestal de definitie. Het doel van de verklaring is om een ​​programmeur toe te staan ​​die de functie of klasse gebruikt die u aangeeft de functie of klasse te kunnen gebruiken - ze hebben geen definitie nodig, want dat is de broncode die de compiler vertelt hoe hij eigenlijk moet doen wat de functie / klasse moet doen, maar de verklaring vertelt hen wat de functie retourneert, welke argumenten de functie aanneemt, en de naam van de functie zodat ze de functie later vanuit hun code kunnen aanroepen. Als het tot nu toe niet duidelijk was, heeft de definitie de broncode om de functie te definiëren (vandaar het woord "definitie"). Een voorbeeld van beide is hier:

//verklaring
int doSomething (int x, int y);

//definitie
int doSomething (int x, int y)
{
retour (x * y);
}

Antwoord 5:

Een verklaring is precies dat - het is er om de compiler te laten weten dat hij de definitie later in de broncode zal vinden. Het staat meestal in een header-bestand (.h- of .hpp-extensie) en de bron (c- of cpp-extensie) heeft meestal de definitie. Het doel van de verklaring is om een ​​programmeur toe te staan ​​die de functie of klasse gebruikt die u aangeeft de functie of klasse te kunnen gebruiken - ze hebben geen definitie nodig, want dat is de broncode die de compiler vertelt hoe hij eigenlijk moet doen wat de functie / klasse moet doen, maar de verklaring vertelt hen wat de functie retourneert, welke argumenten de functie aanneemt, en de naam van de functie zodat ze de functie later vanuit hun code kunnen aanroepen. Als het tot nu toe niet duidelijk was, heeft de definitie de broncode om de functie te definiëren (vandaar het woord "definitie"). Een voorbeeld van beide is hier:

//verklaring
int doSomething (int x, int y);

//definitie
int doSomething (int x, int y)
{
retour (x * y);
}

Antwoord 6:

Een verklaring is precies dat - het is er om de compiler te laten weten dat hij de definitie later in de broncode zal vinden. Het staat meestal in een header-bestand (.h- of .hpp-extensie) en de bron (c- of cpp-extensie) heeft meestal de definitie. Het doel van de verklaring is om een ​​programmeur toe te staan ​​die de functie of klasse gebruikt die u aangeeft de functie of klasse te kunnen gebruiken - ze hebben geen definitie nodig, want dat is de broncode die de compiler vertelt hoe hij eigenlijk moet doen wat de functie / klasse moet doen, maar de verklaring vertelt hen wat de functie retourneert, welke argumenten de functie aanneemt, en de naam van de functie zodat ze de functie later vanuit hun code kunnen aanroepen. Als het tot nu toe niet duidelijk was, heeft de definitie de broncode om de functie te definiëren (vandaar het woord "definitie"). Een voorbeeld van beide is hier:

//verklaring
int doSomething (int x, int y);

//definitie
int doSomething (int x, int y)
{
retour (x * y);
}

Antwoord 7:

Een verklaring is precies dat - het is er om de compiler te laten weten dat hij de definitie later in de broncode zal vinden. Het staat meestal in een header-bestand (.h- of .hpp-extensie) en de bron (c- of cpp-extensie) heeft meestal de definitie. Het doel van de verklaring is om een ​​programmeur toe te staan ​​die de functie of klasse gebruikt die u aangeeft de functie of klasse te kunnen gebruiken - ze hebben geen definitie nodig, want dat is de broncode die de compiler vertelt hoe hij eigenlijk moet doen wat de functie / klasse moet doen, maar de verklaring vertelt hen wat de functie retourneert, welke argumenten de functie aanneemt, en de naam van de functie zodat ze de functie later vanuit hun code kunnen aanroepen. Als het tot nu toe niet duidelijk was, heeft de definitie de broncode om de functie te definiëren (vandaar het woord "definitie"). Een voorbeeld van beide is hier:

//verklaring
int doSomething (int x, int y);

//definitie
int doSomething (int x, int y)
{
retour (x * y);
}

Antwoord 8:

Een verklaring is precies dat - het is er om de compiler te laten weten dat hij de definitie later in de broncode zal vinden. Het staat meestal in een header-bestand (.h- of .hpp-extensie) en de bron (c- of cpp-extensie) heeft meestal de definitie. Het doel van de verklaring is om een ​​programmeur toe te staan ​​die de functie of klasse gebruikt die u aangeeft de functie of klasse te kunnen gebruiken - ze hebben geen definitie nodig, want dat is de broncode die de compiler vertelt hoe hij eigenlijk moet doen wat de functie / klasse moet doen, maar de verklaring vertelt hen wat de functie retourneert, welke argumenten de functie aanneemt, en de naam van de functie zodat ze de functie later vanuit hun code kunnen aanroepen. Als het tot nu toe niet duidelijk was, heeft de definitie de broncode om de functie te definiëren (vandaar het woord "definitie"). Een voorbeeld van beide is hier:

//verklaring
int doSomething (int x, int y);

//definitie
int doSomething (int x, int y)
{
retour (x * y);
}

Antwoord 9:

Een verklaring is precies dat - het is er om de compiler te laten weten dat hij de definitie later in de broncode zal vinden. Het staat meestal in een header-bestand (.h- of .hpp-extensie) en de bron (c- of cpp-extensie) heeft meestal de definitie. Het doel van de verklaring is om een ​​programmeur toe te staan ​​die de functie of klasse gebruikt die u aangeeft de functie of klasse te kunnen gebruiken - ze hebben geen definitie nodig, want dat is de broncode die de compiler vertelt hoe hij eigenlijk moet doen wat de functie / klasse moet doen, maar de verklaring vertelt hen wat de functie retourneert, welke argumenten de functie aanneemt, en de naam van de functie zodat ze de functie later vanuit hun code kunnen aanroepen. Als het tot nu toe niet duidelijk was, heeft de definitie de broncode om de functie te definiëren (vandaar het woord "definitie"). Een voorbeeld van beide is hier:

//verklaring
int doSomething (int x, int y);

//definitie
int doSomething (int x, int y)
{
retour (x * y);
}