Skillnad mellan deklaration och definition i C

De nyckelskillnad mellan deklaration och definition i C är det deklarationen i C berättar kompilatorn om funktionsnamnet, returtypen och parametrarna medan definitionen i C innehåller det faktiska genomförandet av funktionen. Det vill säga, deklaration ger information om funktionen till kompilatorn medan definitionen innehåller de faktiska uppgifterna för funktionen för att utföra en specifik uppgift.

C är ett generellt ändamål, strukturerat programmeringsspråk. Den använder kontrollstrukturer som om / annars, repetitioner som till loop, medan 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 ringa funktionerna från huvudfunktionen. Efter att den sista funktionen har gjorts, går kontrollen tillbaka till huvudfunktionen. I denna artikel diskuteras 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.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är deklarationen i C
3. Vad är definition i C
4. Side vid sida Jämförelse - Deklaration vs Definition i C i tabellform
5. Sammanfattning

Vad är deklarationen i C?

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

return_ type function_name (parameterlista);

Antag 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. Den här funktionen returnerar ett heltal. Det fullständiga uttalandet slutar med en semikolon.

Det är inte nödvändigt att inkludera namnen på parametrarna i deklarationen. Därför är det också möjligt att bara 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 uppgifterna för funktionen för att utföra en specifik uppgift. Syntaxen är som följer.

return_type function_name (parameterlista)

// funktionsuppsättningar

Funktionsnamn hjälper till att identifiera funktionen. När en funktion aktiveras övergår värden till den funktionen. Dessa värden kopierar till parametrarna. Paramellistan 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 ligger inuti de krökta axlarna. Det är funktionskroppen. Efter att ha utfört funktionen kommer det att returnera ett värde. Returtypen beror på returvärdet. Om funktionen returnerar ett heltal är returtypen int. Om funktionen returnerar en dubbel, är returtypen dubbel osv.

Se nedan koden med deklaration och definition av en funktion.

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

Enligt ovanstående program visar rad 3 deklarationen. Det berättar kompilatorn om funktionsnamnet, parametrarna etc. I huvudfunktionen tas två värden från tangentbordet och de lagras i variabeln 'a' och 'b'. I rad 12 skickas dessa värden till funktionen kallad summa. Denna "a" och "b" är argument.

I rad 16 exekverar summeringsfunktionen. Den kopierar värdet a till num1 och värde b till num2. Denna funktion returnerar summeringen och det värde som lagras till variabeln 'ans' (rad 12). Slutligen skrivs svaret till skärmen. I korthet visar linje 3 deklarationen medan rad 16 till 18 visar definitionen.

Vad är skillnaden mellan deklarationen och definitionen i C?

Deklaration är en prototyp som anger funktionsnamnet och typsignaturen, t.ex. datatyper, returtyper och parametrar men lämnar funktionskroppen. Definition anger funktionsnamn och typsignaturer som datatyper, returtyper och parametrar, och det innehåller funktionskroppen. Deklarationen berättar kompilatorn om funktionsnamnet och hur man ringer det. Å andra sidan innehåller definitionen det faktiska genomförandet av funktionen. Det beskriver funktionens uppgift.

Sammanfattning - Deklaration vs Definition i C

Skillnaden mellan deklaration och definition i C är att deklarationen i C berättar kompilatorn om funktionsnamnet, returtypen och parametrarna medan definitionen i C innehåller det faktiska genomförandet av funktionen.

Referens:

1.Tutorials Point. "C-funktioner".  Tutorials Point, 19 mars 2018. Tillgänglig här  
2. "Funktionsprototyp". Wikipedia, Wikimedia Foundation, 28 maj 2018. Tillgänglig här