Hem Personliga finanser Grunderna för globala variabler i C-programmering - dummies

Grunderna för globala variabler i C-programmering - dummies

Innehållsförteckning:

Video: 24 php - function (global variable) 2024

Video: 24 php - function (global variable) 2024
Anonim

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; x 

Fö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.

Grunderna för globala variabler i C-programmering - dummies

Redaktörens val

Jewish Funeral Traditions - dummies

Jewish Funeral Traditions - dummies

Judiska begravningar sker vanligen i en synagoge, begravningshem eller på en kyrkogård. Med tradition är judiska begravningar enkla (symboliserar tron ​​att människor är alla lika i döden), men de varierar mycket och har ingen uppsättning liturgi. Att skicka blommor till ett begravnings- eller sorgshem är starkt avskräckt i judendomen. Inte bara kommer ...

Identifiera komplicerade grävande dummies

Identifiera komplicerade grävande dummies

Komplicerat roende är det tekniska namnet som sorgproffs ger till en sorgprocess som sitter fast vid något tillfälle , vilket gör det omöjligt för de förlorade att framgångsrikt starta eller avsluta sorgprocessen. Komplicerat sorg är ofta ett tecken på olösta problem i förhållandet mellan de förlorade och den avlidne som gör det ...

Redaktörens val

Hur man ställer in kartkontroller i Main_iPad. Storyboard i din iOS App - dummies

Hur man ställer in kartkontroller i Main_iPad. Storyboard i din iOS App - dummies

När du har en anpassad vy för MapController i din iOS-app, måste du berätta för iPad-storyboardet att du laddar in din anpassade vy i stället för en UIViewController. Följ dessa steg: Välj Projekt navigator genom att välja Main_iPad. storyboard och välj sedan View Controller i View Controller - Map Scene i dokumentutskriften. ...

Hur man roterar objekt i din iOS-app - dummies

Hur man roterar objekt i din iOS-app - dummies

Här hittar du hur man rotera en vy (i så fall vrid bilen runt) i din iOS-app. För att göra det uppdaterar du den roterande kodstuben du startade med och ersätter den med den fetstilta koden. - (void) rotera {CGAffineTransform transform = CGAffineTransformMakeRotation (M_PI); void (^ animation) () = ^ () {self. bil. transformera = transformera; ...

Hur man ställer in en WeatherController i Main_iPad. storyboard-fil för din iOS-app - dummies

Hur man ställer in en WeatherController i Main_iPad. storyboard-fil för din iOS-app - dummies

Bör du lägga till en ny anpassad vykontroll till din iOS-app innan du fortsätter till dessa steg. Du behöver fortfarande berätta för storyboardet att du vill att den ska ladda den nya anpassade vykontrollen istället för en UIViewController. Följ dessa steg:

Redaktörens val

Spara en grafisk stil i Adobe CS5 Illustrator - dummies

Spara en grafisk stil i Adobe CS5 Illustrator - dummies

Adobe Creative Suite 5 (Adobe CS5) Illustrator tillåter Du sparar en grafisk stil. En grafisk stil är en kombination av alla inställningar du väljer för ett visst filter eller en effekt i Utseendepanelen. Genom att spara informationen i en grafisk stil lagras du dessa attribut så att du snabbt och enkelt kan tillämpa ...

Välj som ett transformationsverktyg i Adobe CS5 Illustrator - dummies

Välj som ett transformationsverktyg i Adobe CS5 Illustrator - dummies

I Adobe Creative Suite 5 (Adobe CS5 ) Illustratör du kan använda markeringsverktyget för att skala och rotera ett valt objekt. Dra begränsningsboxens handtag för att ändra storlek på objektet, eller flytta dig utanför ett handtag och sedan, när markören ändras till en flippig pil (en böjd pil med pilhuvud i båda ändarna), dra till ...

Objekttransformation i Adobe CS5 Illustrator - dummies

Objekttransformation i Adobe CS5 Illustrator - dummies

Verktygen Rotate, Reflect, Scale och Shear i Adobe Creative Suite 5 (Adobe CS5) Illustrator använder alla samma grundläggande steg för att utföra transformationer. Här är fem sätt att transformera ett objekt: en för en godtycklig omvandling och fyra andra för exakta omvandlingar baserat på en numerisk mängd som du anger. Vilkårlig omvandlingsmetod Eftersom detta ...