Innehållsförteckning:
Video: 24 php - function (global variable) 2024
Ibland i C-programmering måste en variabel vara som mobiltelefontjänst: tillgänglig överallt. Variabeln kan också användas av någon funktion när som helst. Denna typ av variabel kan kallas en universell -variabel. Det kan kallas en världsomfattande variabel. Men i C betecknas det som en global variabel.
Hur man använder globala variabler
Globala variabler löser specifika problem genom att göra den variabla deklarationen universell. På så sätt kan vilken funktion som helst i programmet komma åt variabeln. Det behöver inte skickas eller returneras från en funktion.
Kasta din ålder runt visar hur en global variabel förklaras och används. De globala variablerna ålder och float påverkas av båda funktionerna. De kan överföras till dessa funktioner, men båda värdena kan inte returneras. (C-funktioner returnerar bara ett värde.) Därför används den globala variabeln som en lösning.
TÄLLER DIN AGE OM RÄDDEN
#include void half (void); ogiltig två gånger (tomrum); int ålder; float fötter; int main () {printf ("Hur gammal är du:"); scanf ("% d", & ålder); printf ("Hur lång är du (i fötter):"); scanf ("% f", & fötter); printf ("Du är% d år gammal och%. 1f fötter lång. n", ålder, fötter); halv(); dubbelt(); printf ("Men du är inte riktigt% d år gammal eller%. 1f fötter lång. n", ålder, fötter); returnera (0);} void half (void) {float a, h; a = (float) ålder / 2. 0; printf ("Halva din ålder är%. 1f. n", a); h = fot / 2. 0; printf ("Halva din höjd är%. 1f. n", h);} void twice (void) {age * = 2; printf ("Twice din ålder är% d. n", ålder); fötter * = 2; printf ("Twice din höjd är%. 1fn", fötter);}
Linje 6 deklarerar den globala int-variabeln ålder och floatvariabeln fot . Dessa är globala variabler eftersom de deklareras utanför någon funktion, uppe i #include, #define och prototyping land. Variablerna används sedan i varje funktion. Deras värden kan nås genom hela koden. Även när dessa värden ändras i funktionen två gånger (), använder huvudfunktionen () funktionen de nya värdena.
Var medveten om att två printf () -satser i huvudfunktionen () sätter in texten i Tossing Your Age Around. Du behöver inte paketera dessa uttalanden i en textredigerare; helt enkelt skriva ut dem på en enda rad.
Övning 1 : Skriv källkoden för att kasta din ålder runt i redigeraren, skapa ett nytt program. Bygg och kör.
Var inte lat om att använda globala variabler! Om du kan skicka ett värde till en funktion, gör det! Det är korrekt. För många indolenta programmerare förklarar alla sina globala variabler för att "lösa problemet."Det är slarvigt och felaktigt.
Bra exempel på globala variabler inkluderar information som alla funktioner i programmet borde veta, till exempel användarinformation eller om du är online eller om text visas eller döljs. I så fall bör du överväga att göra de variablerna globala istället.
Hur man skapar en global strukturvariabel
Ett bättre exempel på att använda en global variabel och en situation där globala variabler är helt nödvändiga är när man överför en struktur till en funktion. I så fall måste du deklarera strukturen som global så att alla funktioner kan få tillgång till variabler av den här strukturtypen.
Låt inte den enorma längden av att passera en struktur till en funktion skrämma dig! De flesta av de "riktiga" programmen du skriver så småningom kommer att vara långt längre!
PASSERA EN STRUKTUR PÅ EN FUNKTION
#include #include # include #define STORLEK 5 struct bot {int xpos; int ypos;}; struct bot initiera (struct bot b); int main () {struct bot robotar [STORLEK]; int x; srandom ((unsigned) tid (NULL)); för (x = 0; xFör att överföra en struktur till en funktion måste strukturen deklareras globalt, vilket händer mellan linjerna 7 och 10. Det måste hända redan innan funktionen prototyperas, vilket sker på rad 12.
Funktionen initialiserar () går från linjerna 30 till 41. Strukturen överförs till funktionen och returneras. Observera att strukturvariabeln måste definieras fullständigt som argumentet. På rad 30 ges funktionen variabelnamnet b inuti funktionen.
Retureringen vid Linje 40 skickar strukturen tillbaka till anropsfunktionen. Faktum är initialiseringen () -funktionen definierad som en struktur bottyp av funktion. Det är typen av värdet returnerar.
Övning 2 : Skruva ditt mod till klibbplatsen och skriv alla linjer med källkod från att skicka en struktur till en funktion i din redaktör. Bygg och kör.
Utgången visar hur strukturen array passerade (ett element i taget) till en funktion, modifierad i func tion, och sedan tillbaka.