Static void Funksjoner i C

Funksjoner i C programmering hjelp modularize kode. Funksjoner inneholde blokker av kode som utfører visse ofte brukte oppgaver. Programmerere kan kalle disse blokkene med kode ved å bruke navnet på funksjonen. Men hvordan en programmerer faktisk erklærer en funksjon dikterer hvordan hun kan bruke den. Noen ganger trenger en programmerer for å definere en funksjon som bare gjør en oppgave uten å returnere noen resultat - en som ingen andre programmerer kan bruke utenfor filen som inneholder den. I dette tilfellet, kan hun definere funksjonen som statisk og ugyldig.

Funksjon og Returtyper

I C-programmering, har hver funksjon en returtype. Denne returtype forteller C-kompilator at funksjonen vil produsere en verdi fra hva beregning det utfører. Programmereren kan bruke returtype og tilordne den til en variabel. Hun kan også bruke den i en betinget utsagn eller hvor som helst verdien kan være nyttig i programmet. Følgende eksempler viser funksjoner med ulike returverdier, og hvordan disse funksjonene kalles i praksis:

int myfunc (int x) {

returnere x * 2;

}

char myFunc2 () {

return 'v';

}

int y = myfunc (3); // "Y" er lik 6

char bokstav = myFunc2 (); // "Brev" likeverdige "v"

void Funksjoner

Void funksjoner er forskjellige, ved at de kommer tilbake 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. Følgende eksempel viser hvordan et tomrom funksjon kan se ut i praksis:

ugyldig myFunc3 (int z) {

if (z == 0) {

komme tilbake; // Ender funksjon utførelse

}

ellers{

cout << z; // prints '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 egne definisjonsfiler at de kan importere inn i andre programmer. Imidlertid kan en programmerer finne det fordelaktig å begrense tilgang til en funksjon til filen som inneholder den. Funksjonen kan deretter bare brukes av andre kode som foreligger i den samme filen. Følgende eksempel viser hvordan en statisk funksjon fungerer:

// Funksjon i "file1.h"

static int trippel (int x) {

returnere x * 3;

}

//file2.c

import "file1.h"

int main () {

int y = trippel (3); // Kompilatoren vil kaste en feil, sier at funksjonen ikke eksisterer

}

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 anvendelse begrenset. Men hvis en programmerer ønsker å skrive fil-spesifikk kode, kan 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 sin kildefilen, kan programmereren velge å gjøre de mindre funksjoner statisk. Hvis disse funksjonene er bare å utføre oppgaver og ikke returnerer resultater, så programmerer ville utpeke dem static void.