Funksjoner i C programmering hjelp modularize kode . Funksjoner inneholder blokker med kode som utfører visse brukte oppgavene . Programmerere kan kalle disse blokker av kode ved hjelp av navnet på funksjonen . Men hvordan en programmerer faktisk erklærer en funksjon dikterer hvordan hun kan bruke den. Noen ganger trenger en programmerer å definere en funksjon som bare gjør en oppgave uten å returnere noen resultat - en som ingen andre programmerer kan bruke utenfor filen som inneholder det . I dette tilfellet , kan hun definere funksjonen som statisk og ugyldig . Funksjon og Return Typer
I C-programmering , har hver funksjon en retur type. Dette Returtypen forteller C-kompilator at funksjonen vil produsere en verdi fra hva beregningen den utfører. Programmereren kan bruke avkastningen type og tilordne den til en variabel . Hun kan også bruke den i et betinget utsagn eller hvor som helst verdien kan være nyttig i programmet. Eksemplene nedenfor viser funksjoner med ulike returnere verdier , og hvordan disse funksjonene kalles i praksis : en
int myfunc ( int x ) {
retur x * 2 ;
}
røye myFunc2 ( ) {
return ' v ';
}
int y = myfunc ( 3 ), //" y " likeverdige 6
røye brev = myFunc2 ( ), //" brev " likeverdige " v"
Void funksjoner
Void funksjoner er annerledes , ved at de returnere noen verdi . Dette forteller kompilatoren at funksjonen ikke skal returnere en funksjon ved hjelp av "return " statement. Imidlertid kan programmereren fortsatt bruke avkastningen setningen, så lenge den returnerer ingen verdi . Avkastningen uttalelse i et tomrom funksjonen kan stanse funksjonen tidlig hvis det er nødvendig, uten å gi en verdi. Eksempelet nedenfor viser hvordan et tomrom funksjon kan se ut i praksis : en
void myFunc3 ( int z ) {
if ( z == 0 ) {
tilbake; //ender funksjon gjennomføring
}
else {
cout << z ; //utskrifter ' z' , men returnerer ingen verdi
statiske Funksjoner
den " statisk" søkeord før en funksjon forteller kompilatoren at funksjonen ikke skal være synlig utenfor sin nåværende fil. Ofte programmerere skrive funksjoner i separate definisjonsfilene som de kan importere til andre programmer . Imidlertid kan en programmerer finne det fordelaktig å begrense tilgangen til en funksjon til filen som inneholder det . Funksjonen kan da bare brukes av andre kode som finnes i den samme filen. Følgende eksempel viser hvordan en statisk funksjonen fungerer :
//funksjon i " file1.h "
static int trippel ( int x ) {
avkastning x * 3 ;
}
//file2.c
import " file1.h "
int main ( ) {
int y = trippel ( 3 ), //kompilatoren vil kaste en feil , sier at funksjonen ikke finnes
}
static void Funksjoner
static void funksjoner er funksjoner som er begrenset til en enkelt fil, og som returnerer ingen verdi . På grunn av dette , er deres bruk begrenset. Men hvis en programmerer ønsker å skrive fil - spesifikk kode, vil en static void funksjon å organisere kode . Hvis en C kildefilen har noen funksjoner som programmerer vil bruke i andre filer , og disse funksjonene er avhengige av andre mindre funksjoner i kildefilen , kan programmereren velger å gjøre disse mindre funksjoner statisk . Hvis disse funksjonene er bare utfører oppgaver og ikke returnerer resultater, så programmerer ville utpeke dem static void .