Skillnaden mellan deklaration och definition i C

Innehållsförteckning:

Skillnaden mellan deklaration och definition i C
Skillnaden mellan deklaration och definition i C

Video: Skillnaden mellan deklaration och definition i C

Video: Skillnaden mellan deklaration och definition i C
Video: Difference between Declaration and Definition of variables in C 2024, Juli
Anonim

Nyckelskillnaden mellan deklaration och definition i C är att deklaration i C berättar för kompilatorn om funktionsnamn, returtyp och parametrar medan definition i C innehåller den faktiska implementeringen av funktionen. Det vill säga, deklaration ger information om funktionen till kompilatorn medan definitionen innehåller de faktiska uttalandena för funktionen för att utföra en specifik uppgift.

C är ett allmänt, strukturerat programmeringsspråk. Den använder kontrollstrukturer som if/else, upprepningar som för loop, while loop och funktioner. En funktion är en uppsättning uttalanden som hjälper till att utföra en viss uppgift om och om igen. Vidare är det möjligt att anropa funktionerna från huvudfunktionen. Efter att ha utfört den sista satsen för funktionen, går kontrollen tillbaka till huvudfunktionen. Den här artikeln diskuterar deklarationen och definitionen av funktioner i C och jämför skillnaden mellan dem. Funktionsdefinitionen anger vad funktionen gör, och deklarationen anger vad som går till funktionen; det är en prototyp.

Vad är deklaration i C?

Deklaration ger information om funktionen till kompilatorn. Syntaxen för deklarationen är som följer.

return_ typ funktionsnamn (parameterlista);

Anta en funktion som beräknar summan av två heltal. Deklarationen är som följer.

int summa (int num1, int num2);

Namnet på funktionen är summa, och parametrarna är två heltal som är num1 och num2. Denna funktion returnerar ett heltal. Hela satsen avslutas med semikolon.

Det är inte nödvändigt att inkludera namnen på parametrarna i deklarationen. Därför är det också möjligt att endast nämna datatypen enligt följande. Följande är en giltig deklaration.

int summa (int, int);

Vad är definition i C?

Definition innehåller de faktiska satserna för funktionen för att utföra en specifik uppgift. Syntaxen är som följer.

return_type function_name (parameterlista){

// funktionssatser

}

Funktionsnamn hjälper till att identifiera funktionen. När en funktion anropas överförs värden till den funktionen. Dessa värden kopieras till parametrarna. Parameterlistan kan innehålla en parameter eller ett antal parametrar. Och dessa parametrar har en datatyp och ett namn. Dessutom kan det finnas funktioner utan någon parameter också.

Funktionens uttalanden finns inom de lockiga hängslen. Det är funktionskroppen. Efter att ha utfört funktionen kommer den att returnera ett värde. Returtypen beror på returvärdet. Om funktionen returnerar ett heltal är returtypen int. Om funktionen returnerar en dubbel så är returtypen dubbel etc.

Se koden nedan med deklaration och definition av en funktion.

Skillnaden mellan deklaration och definition i C
Skillnaden mellan deklaration och definition i C

Figur 01: Program för att beräkna summan av två tal

Enligt ovanstående program visar rad 3 deklarationen. Den berättar för kompilatorn om funktionsnamn, parametrar etc. I huvudfunktionen tas två värden från tangentbordet, och de lagras i variabeln 'a' och 'b'. På rad 12 skickas dessa värden till funktionen som kallas summa. Detta "a" och "b" är argument.

På rad 16 körs summafunktionen. Den kopierar värdet a till num1 och värdet b till num2. Denna funktion returnerar summeringen och det värdet lagras i variabeln 'ans' (rad 12). Slutligen skrivs svaret ut på skärmen. Kortfattat, rad 3 visar deklarationen medan rad 16 till 18 visar definitionen.

Vad är skillnaden mellan deklaration och definition i C?

Declaration är en prototyp som specificerar funktionsnamn och typsignatur såsom datatyper, returtyper och parametrar men utelämnar funktionskroppen. Definition anger funktionsnamnet och typsignaturer såsom datatyper, returtyper och parametrar, och den inkluderar funktionskroppen. Declaration berättar för kompilatorn om funktionens namn och hur den ska anropas. Å andra sidan innehåller definitionen själva implementeringen av funktionen. Den beskriver uppgiften för funktionen.

Skillnaden mellan deklaration och definition i C i tabellform
Skillnaden mellan deklaration och definition i C i tabellform

Sammanfattning – Deklaration vs Definition i C

Skillnaden mellan deklaration och definition i C är att deklaration i C talar om för kompilatorn om funktionsnamn, returtyp och parametrar medan definition i C innehåller själva implementeringen av funktionen.

Rekommenderad: