Skillnaden Mellan Funktionsprototyp Och Funktionsdefinition I C

Innehållsförteckning:

Skillnaden Mellan Funktionsprototyp Och Funktionsdefinition I C
Skillnaden Mellan Funktionsprototyp Och Funktionsdefinition I C

Video: Skillnaden Mellan Funktionsprototyp Och Funktionsdefinition I C

Video: Skillnaden Mellan Funktionsprototyp Och Funktionsdefinition I C
Video: How to learn any language in six months | Chris Lonsdale | TEDxLingnanUniversity 2024, April
Anonim

Nyckelskillnad - Funktionsprototyp vs Funktionsdefinition i C

En funktion är en grupp uttalanden som används för att utföra en specifik uppgift. I C-programmering börjar körningen från main (). Det är en funktion. I stället för att skriva alla uttalanden i samma program kan det delas in i flera funktioner. Varje funktion kommer att utföra olika funktioner. Funktionsprototypen berättar kompilatorn om funktionsnamn, returtyper och parametrar. Det är också känt som en funktionsdeklaration. Varje funktion har ett särskilt namn för att identifiera den. Funktionsuttalanden är skrivna i ett par lockiga hängslen. Funktionerna kan returnera ett värde. Det finns några funktioner som inte returnerar ett värde. Data skickas till funktionen med hjälp av parameterlistan. Funktionsdefinitionen har den faktiska funktionaliteten som utförs av funktionen. I C-programmering finns funktionsprototyp och funktionsdefinition. Huvudskillnaden mellan funktionsprototypen och funktionsdefinitionen är att funktionsprototypen endast innehåller deklarationen av funktionen medan funktionsdefinitionen innehåller den faktiska implementeringen av funktionen. Funktionsdefinitionen har de lokala variablerna och uttalandena som avgör vad funktionen gör.

INNEHÅLL

1. Översikt och nyckeldifferens

2. Vad är funktionsprototyp i C

3. Vad är funktionsdefinition i C

4. Likheter mellan funktionsprototyp och funktionsdefinition i C

5. Jämförelse sida vid sida - Funktionsprototyp kontra funktionsdefinition i C i tabellform

6. Sammanfattning

Vad är funktionsprototyp i C?

Funktionsprototyp tillhandahåller funktionsdeklarationen. Den anger funktionens namn, returtyperna och parametrarna. Returtyperna är datatypen som återgår från funktionen. När en funktion returnerar ett heltal är returtypen int. När en funktion returnerar ett flottörvärde är returtypen ett flottör. Om funktionen inte returnerar något värde är det en ogiltig funktion. Funktionsnamnet används för att identifiera det. C-nyckelord kan inte användas som funktionsnamn. Data skickas till funktionen med hjälp av parametrar. Funktionsprototypen innehåller inte det verkliga genomförandet av funktionen. Funktionsprototypen har följande syntax.

(parameterlista);

Om det finns en funktion för att beräkna högst två siffror kan deklarationen skrivas som int max (int num1, int num2); Det maximala värdet bör hittas i num1 och num2. Dessa är heltal och de skickas till funktionen. Returtypen är i början också int. Så, funktionen returnerar ett heltal. Det är inte nödvändigt att skriva parameternamnen i funktionsprototypen. Men det är nödvändigt att skriva datatyperna. Därför int max (int, int); är också en giltig funktionsprototyp. Om det finns två heltal som num1, num2, num3 och prototypen skrivs som int max (int num1, int num2, num3); det är ogiltigt. Num1, num2 har datatyperna, men num3 har ingen datatyp. Därför är det ogiltigt.

Skillnaden mellan funktionsprototyp och funktionsdefinition i C
Skillnaden mellan funktionsprototyp och funktionsdefinition i C

Se nedanstående program.

#omfatta

int CarMax (int x, int y);

int main () {

int p = 10;

int q = 20;

int svar;

svar = calMax (p, q);

printf (“Det maximala värdet är% d / n”, svar);

returnera 0;

}

int calMax (int p, int q) {

int värde;

om (p> q) {

värde = p;

}

annat {

värde = q;

}

returvärde;

}

Enligt ovanstående visar det andra uttalandet funktionsprototypen. Det har inte genomförandet. Det faktiska genomförandet sker efter huvudprogrammet. Funktionsprototyperna är mer användbara när man definierar en funktion i en källfil och anropar den funktionen i en annan i en annan fil.

Vad är funktionsdefinition i C?

Funktionsdefinitionen har den faktiska implementeringen av funktionen. Den innehåller vad funktionen ska göra. När programmet anropar funktionen överförs kontrollen till den anropade funktionen. Efter körning av funktionen återgår kontrollen till huvudfunktionen. De nödvändiga uppgifterna skickas till funktionen som en parameterlista. Om det finns ett värde som returneras nämns returtypen. Om det inte finns några returvärden är returtypen ogiltig. Se funktionen nedan för att beräkna ytan av en triangel.

#omfatta

float calArea (int x, int y);

int main () {

int p = 10;

int q = 20;

flaot-område;

area = calArea (p, q);

printf (“Det maximala värdet är% f / n”, område);

returnera 0;

}

float calArea (int x, int y) {

flytvärde;

värde = 0,5 * x * y;

returvärde;

}

Enligt ovanstående program indikerar det andra uttalandet funktionsprototypen. Den faktiska implementeringen av vad funktionen utförs skrivs efter huvudprogrammet. Det är funktionsdefinitionen. P- och q-värdena skickas till calArea-funktionen. Variabelvärdet är en lokal variabel till calArea-funktionen. Området beräknas och tilldelas det variabla värdet. Sedan återgår den till huvudprogrammet.

Vad är likheterna mellan funktionsprototyp och funktionsdefinition i C?

  • Både funktionsprototyp och funktionsdefinition är relaterade till funktioner.
  • Både funktionsprototyp och funktionsdefinition innehåller funktionsnamn.
  • Både funktionsprototyp och funktionsdefinition innehåller returtyper.
  • Både funktionsprototyp och funktionsdefinition innehåller parametrar.

Vad är skillnaden mellan funktionsprototyp och funktionsdefinition i C?

Skilja artikeln mitt före bordet

Funktion Prototyp vs Funktionsdefinition i C

Funktionsprototypen anger funktionsnamn, returtyp, parametrar men utelämnar funktionsdelen. Funktionsdefinitionen anger funktionsnamn, returtyp; parametrar inkluderar en funktionskropp.
Genomförande
Funktionsprototypen har inte funktionens implementering. Funktionsdefinitionen har funktionsimplementeringen.

Sammanfattning - Funktionsprototyp vs Funktionsdefinition i C

Att använda funktioner i program har fördelar. Funktioner ökar återanvändningen av koden. Det är inte nödvändigt att skriva samma kod om och om igen. Istället kan programmeraren dela upp programmet och anropa den nödvändiga funktionen. I C finns biblioteksfunktioner. Dessa funktioner deklareras i C-huvudfilerna. Några av dem är printf (), scanf () etc. Programmeraren kan också skriva sina egna funktioner. Det finns två termer som är associerade med funktioner i C. De fungerar prototyp och funktionsdefinition. Skillnaden mellan funktionsprototypen och funktionsdefinitionen i C är att funktionsprototypen endast innehåller deklarationen av funktionen medan funktionsdefinitionen innehåller den faktiska implementeringen av funktionen.

Ladda ner PDF-filen för Function Prototype vs Function Definition i C

Du kan ladda ner PDF-versionen av den här artikeln och använda den för offlineändamål enligt citat. Ladda ner PDF-versionen här: Skillnaden mellan funktionsprototyp och funktionsdefinition i C

Rekommenderas: