Video: C programmering svenska - 14 - Funktioner 2024
I C-programmering måste funktioner som använder variabler deklarera de variablerna - precis som huvudfunktionen () fungerar. Det är faktiskt ganska mycket detsamma. Den stora skillnaden som du behöver komma ihåg är att de variabler som deklarerats och används inom en funktion är lokala för den funktionen. Eller, för att uttrycka det i folkmallen, fortsätter vad som händer i en funktion inom funktionen.
LOKALA VARIABLER I EN FUNKTION
#include void vegas (void); int main () {int a; a = 365; printf ("I huvudfunktionen a =% dn", a); vegas (); printf ("I huvudfunktionen a =% dn", a); returnera (0);} void vegas (void) {int a; a = -10; printf ("I vegasfunktionen, a =% dn", a);}
Både funktionerna () och vegas () förklarar en int-variabel a . Variabeln tilldelas värdet 365 i huvud () vid rad 9. I funktionen vegas () är variabel a tilldelad värdet -10 vid Linje 20. Kan du förutse programmets utgång för printf () funktion på rad 12?
Övning 1: Skapa ett nytt projekt med källkoden från lokala variabler i en funktion. Bygg och kör.
Här är utgångspunkten:
I huvudfunktionen a = 365 I vegasfunktionen a = -10 I huvudfunktionen a = 365
Även om samma variabelnamn används i båda funktionerna, det har ett annat värde. Det beror på att variablerna i C är lokala för sina funktioner: En funktion kan inte ändra värdet på en variabel i en annan funktion, även om båda variablerna har samma typ och namn.
-
Den allmänna uppmaningen att inte duplicera variabla namn håller inte för variabler i andra funktioner. Du kan ha 16 funktioner i din kod, och varje funktion använder variabeln alfa . Det är helt okej. Ändå:
-
Du behöver inte använda samma variabelnamn i alla funktioner. Funktionen vegas () från Listning 10-3 kunde ha deklarerat sin variabel som pip eller wambooli .
-
Om du vill tillåta flera funktioner att dela en variabel anger du en global variabel.