Funktioner i C -programmering hjälp modularisering kod . Funktioner innehåller block av kod som utför vissa vanligt förekommande uppgifter . Programmerare kan kalla dessa block av kod genom att använda namnet på funktionen . Men hur en programmerare som faktiskt deklarerar en funktion dikterar hur hon kan använda den . Ibland behöver en programmerare för att definiera en funktion som helt enkelt gör en uppgift utan att återvända något resultat - något som ingen annan programmerare kan använda utanför den fil som innehåller det . I detta fall kan hon definiera funktionen som statisk och ogiltiga . Funktion och returtyper
I C -programmering , har varje funktion en returtyp . Denna returtyp berättar C-kompilatorn att funktionen kommer att producera ett värde oavsett uträkning den presterar . Programmeraren kan använda returtyp och tilldela den till en variabel . Hon kan också använda den i en villkorlig uttalande eller någonstans värdet kan vara till nytta i programmet . Följande exempel visar funktioner med olika returvärden , och hur dessa funktioner kallas i praktiken :
int myFunc ( int x ) {
retur x * 2 ,
}
röding myFunc2 ( ) {
return ' v ' ,
}
int y = myFunc ( 3 ) , //" y " är lika med 6
char bokstav = myFunc2 ( ), //" brev " är lika med " v"
Void funktioner
Void funktioner är olika, genom att de returnera något värde . Detta talar om för kompilatorn att funktionen inte ska returnera en funktion med hjälp av " avkastningen " uttalande . Emellertid kan programmeraren fortfarande använda return , så länge som den returnerar inget värde. Avkastningen uttalande i ett tomrum funktion kan stoppa funktionen tidigt om det behövs , utan att ge ett värde . Följande exempel visar hur en void -funktion kan se ut i praktiken :
void myFunc3 ( int z ) {
p Om ( z == 0 ) {
retur , //slutar fungera utförande
}
else {
cout << z , //tryck ' z ' , men returnerar inget värde
statiska funktioner
" statiska " sökord innan en funktion gör att kompilatorn att funktionen inte ska vara synlig utanför dess nuvarande fil . Ofta programmerare skriva funktioner i separat definition filer som de kan importera till andra program . Däremot kan en programmerare finna det fördelaktigt att begränsa åtkomst till en funktion till den fil som innehåller det . Funktionen kan då endast användas av annan kod som finns i samma fil . Följande exempel visar hur en statisk funktion fungerar:
//funktion i " file1.h "
static int trippel ( int x ) {
retur x * 3 ;
}
//file2.c
import " file1.h "
int main ( ) {
int y = trippel ( 3 ) , //kompilatorn kommer att kasta ett felmeddelande , som anger att funktionen inte finns
}
static void funktioner
void funktioner är funktioner som är begränsade till en enda fil och att avkastningen inget värde . På grund av detta , är användningen begränsad . Men om en programmerare vill skriva file - specifik kod , kanske en void -funktion att organisera koden . Om en C källfil har några funktioner som programmeraren kommer att använda i andra filer , och dessa funktioner är beroende av andra mindre funktioner i deras källfilen , kan programmeraren väljer att göra dessa mindre funktioner statisk . Om dessa funktioner är bara utföra uppgifter och inte återvänder resultat , då programmeraren skulle utse dem static void .