En funktion är en grupp uttalanden som används för att utföra en specifik uppgift. I C-programmeringen startar 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 visst namn för att identifiera det. Funktionsuppsättningarna är skrivna inuti 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 parameterlistan. Funktionsdefinitionen har den faktiska funktionaliteten som utförs av funktionen. I C-programmering finns funktionsprototyp och funktionsdefinition. De nyckelskillnad mellan funktionens prototyp och funktionsdefinition är att Funktionsprototypen innehåller endast deklarationen av funktionen medan funktionsdefinitionen innehåller det faktiska genomförandet av funktionen. Funktionsdefinitionen har de lokala variablerna och de uttalanden som bestämmer vad funktionen gör.
1. Översikt och nyckelskillnad
2. Vad är Function Prototype i C
3. Vad är funktionsdefinition i C
4. Likheter mellan Function Prototype och Function Definition i C
5. Jämförelse vid sida vid sida - Funktion Prototyp vs Funktionsdefinition i C i tabellform
6. Sammanfattning
Funktion Prototyp ger funktionsdeklarationen. Det anger namnet på funktionen, returtyperna, parametrarna. Returtyperna är den datatyp som returnerar från funktionen. När en funktion returnerar ett heltal, är returtypen int. När en funktion returnerar ett float-värde, är returtypen en float. Om funktionen inte returnerar något värde är det en tomrumsfunktion. Funktionsnamnet används för att identifiera det. C-nyckelord kan inte användas som funktionsnamn. Data skickas till funktionen med parametrar. Funktionsprototypen innehåller inte den verkliga implementeringen av funktionen. Funktionsprototypen har följande syntax.
(parameterlista);
Om det finns en funktion att beräkna maximalt två tal kan deklarationen skrivas som intmax (int num1, int num2); Det maximala värdet bör hittas i num1 och num2. Det är heltal, och de skickas till funktionen. Returtypen, i början, är också int. Så returnerar funktionen ett heltal värde. Det är inte nödvändigt att skriva parameterns namn i funktionens prototyp. Men det är nödvändigt att skriva datatyperna. Därför int max (int, int); är också en giltig funktion prototyp. Om det finns två heltal som num1, num2, num3 och prototypen skrivs som intmax (int num1, int num2, num3); Det är ogiltigt. Num1, num2 har datatyperna, men num3 har ingen datatyp. Därför är det ogiltigt.
Se nedan programmet.
#inkludera
int CarMax (intx, int y);
int main ()
int p = 10;
int q = 20;
int svar;
svar = calMax (p, q);
printf ("Högsta värdet är% d \ n", svar);
returnera 0;
int calMax (int p, int q)
int värde
om (p> q)
värde = p;
annars
värde = q;
returvärde;
Enligt ovanstående visar det andra uttalandet funktionsprototypen. Det har inte genomförandet. Det faktiska genomförandet är efter huvudprogrammet. Funktionsprototyperna är mer användbara när du definierar en funktion i en källfil och kallar den funktionen i en annan i en annan fil.
Funktionsdefinitionen har det faktiska genomförandet av funktionen. Den innehåller vad funktionen ska göra. När programmet anropar funktionen överförs kontrollen till den uppringda funktionen. Efter funktionens utförande återgår kontrollen till huvudfunktionen. Den obligatoriska data skickas till funktionen som en parameterlista. Om det finns ett värde som återvänder, nämns returtypen. Om det inte finns några returvärden är returtypen ogiltig. Se nedanstående funktion för att beräkna området för en triangel.
#inkludera
float calArea (int x, int y);
int main ()
int p = 10;
int q = 20;
flaot område;
area = calArea (p, q);
printf ("Högsta värdet är% f \ n", område);
returnera 0;
float calArea (int x, int y)
float värde;
värde = 0,5 * x * y;
returvärde;
Enligt ovanstående program anger det andra uttalandet funktion prototypen. Det faktiska genomförandet av vad funktionen utför är skrivet efter huvudprogrammet. Det är funktionsdefinitionen. P- och q-värdena överförs till calArea-funktionen. Det rörliga värdet är en lokal variabel till calArea-funktionen. Området beräknas och tilldelas det rörliga värdet. Då returneras det tillbaka till huvudprogrammet.
Funktion Prototyp vs Funktionsdefinition i C | |
Funktionsprototypen anger funktionsnamnet, returtypen, parametrar men utelämnar funktionskroppen. | Funktionsdefinitionen anger funktionsnamnet, returtypen; parametrar inkluderar en funktionskropp. |
Genomförande | |
Funktionsprototypen har inte funktionen implementering. | Funktionsdefinitionen har funktionen implementering. |
Att använda funktioner i program har fördelar. Funktioner ökar kodåteranvändning. Det är inte nödvändigt att skriva samma kod om och om igen. Istället kan programmeraren dela upp programmet och ringa den nödvändiga funktionen. I C finns biblioteksfunktioner. Dessa funktioner förklaras i C-headerfilerna. Vissa av dem är printf (), scanf () etc. Programmeraren kan också skriva 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 bara innehåller funktionens deklaration medan funktionsdefinitionen innehåller den faktiska implementeringen av funktionen.
Du kan ladda ner PDF-versionen av den här artikeln och använda den för offline-ändamål enligt citationsnotat. Vänligen ladda ner PDF-versionen här: Skillnad mellan Function Prototype och Function Definition i C
1.C Funktionsdefinitioner. Tillgänglig här
2.tutorialspoint.com. "C-funktioner". Punkten. Tillgänglig här
1. "C Programming Language logo'By Rezonansowy (Public Domain) via Commons Wikimedia