Funktioner i C (og i de fleste andre programmeringssprog ) er en integreret at udvikle og opretholde nogen form for kompliceret kodning projekt. Funktioner name blokke af kode , der udfører en bestemt opgave , som kan kaldes og bruges ved at referere funktionens navn. I C -programmering , kan funktioner udføre enten traditionelt eller som inline funktioner , afhængigt af hvordan programmøren definerer funktionen . For at forstå statiske inline funktioner , bør programmøren forstå, hvordan inline funktioner sammenligne med almindelige funktioner . Funktion Definitioner
Når en programmør definerer en funktion, hun gør det for at definere en blok af kode på ét sted . Ofte er koden i funktionen anvendes flere gange eller udfører en kompleks opgave, som programmøren måske ønsker at ændre eller ændre sig i fremtiden . Programmøren kan så referere til denne funktion i hele programmet ved hjælp af dens navn. Dette giver mulighed for genbrug af koden i samme program eller på tværs af flere programmer . Denne følgende eksempel viser en grundlæggende funktion
int myfunc ()
{
tilbagevenden 2 +3 ,
} .
< br > Inline funktioner
Når funktioner kaldes hele programmer , dog skal særlig kode være skrevet af compiler til at henvise til funktionen . Dette skyldes, at funktionskode bosat i hukommelsen på et bestemt sted , adskilt fra andre udføre kode. Dybest set betyder det, at den fuldbyrdende kode skal flytte til en anden hukommelsesplacering , skal du køre koden for funktionen , og derefter vende tilbage til den oprindelige kode . For at optimere hastigheden , C indeholder " inline " søgeord , som fortæller compileren at kopiere koden for funktionen i den fuldbyrdende kode, når funktionen navn kaldes, snarere end at få funktionen kode fra hukommelsen.
< Br >
Inline Static funktioner
A " statisk" funktionen fortæller compileren , at andre programfiler ikke kan se eller få adgang til funktionen . Kun andre funktioner fra den samme fil kan se en statisk funktion. Derfor, for at erklære en funktion lokalt kun til filen programmøren definerer det i, og optimeret til hastighed ved at eksistere som en indbygget funktion , ville en programmør bruge " statiske " og " inline " keywords til at definere de funktioner , som i dette eksempel .
statisk inline void myfunc () {
/* kode * /
Eksempler
Brug statiske inline -funktioner gør det muligt for flere C filerne til at bruge den samme funktion navne i hele flere filer. For eksempel overveje disse to funktionstaster eksempler. Den første funktion eksisterer i " one.h ", og den anden i " two.h. " Fordi funktionerne er statiske , vil de ikke være i strid når funktionen kaldes i én fil eller en anden. Desuden vil compiler placere koden for hver funktion direkte i koden udfører den , snarere end henvisning til en funktion fra hukommelsen.
//Fra one.h
statisk inline void myfunc () {
/* kode * /
}
//fra two.h
statisk inline void myfunc () {
/* kode * /
}