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

Nätverksenheter och tjänster Översikt för certifikatprov på CCENT-dummies

Nätverksenheter och tjänster Översikt för certifikatprov på CCENT-dummies

Du kan vara säker på att få några frågor om certifieringsexamen som testar din kunskap om typer av enheter och olika nätverkstjänster. Nedan följer några viktiga punkter att komma ihåg om enheter och tjänster: Nätverksenheter Hubb: Ett nav är en lag 1-enhet som används för att ansluta system tillsammans. När ...

OSI-modell för CCENT-certifieringsexamen - dummies

OSI-modell för CCENT-certifieringsexamen - dummies

Certifieringen certifierar dig kraftigt på OSI-modellen och olika protokoll och enheter som körs på varje lager av OSI-modellen. I följande tabell granskas OSI-modellen genom att ge dig en beskrivning av varje lager och exempel på protokoll och enheter som körs i varje lager. Layer Beskrivning Exempel 7. Applikation ...

OSI-modell för Cisco ICND1-certifieringsexamen - dummies

OSI-modell för Cisco ICND1-certifieringsexamen - dummies

Cisco ICND1-certifieringsexamen testa dig kraftigt på OSI modell och de olika protokoll och enheter som körs i varje lager av OSI-modellen. Följande granskar OSI-modellen genom att ge dig en beskrivning av varje lager och exempel på protokoll och enheter som körs i varje lager. Layer Beskrivning Exempel 7. Applikation ...

Redaktörens val

Hur man skalar på skifferelement i kantfilm - dummies

Hur man skalar på skifferelement i kantfilm - dummies

Skalar ett element i Adobe Edge Animate betyder i huvudsak att du kan ändra storleken på ett element samtidigt som dess proportioner hålls konsekventa om du vill. Du kan: Skalelement med verktyget Transform Skalaelement från Egenskaper-panelen Skalning med verktyget Transform Om du föredrar att använda en klicka-och-dra-metod för skalering ...

Hur man arbetar med mallar i Adobe Edge Animate - dummies

Hur man arbetar med mallar i Adobe Edge Animate - dummies

Mallar introducerades i Edge Animate 2. 0. Denna funktion tar bort nödvändigheten att återuppfinna hjulet varje gång du vill starta en ny komposition. Visst kan du alltid starta en ny komposition från en sparad fil, men Mallar gör att du kan starta ett nytt projekt som redan innehåller attribut och element som du vill ha.

Keyframes Modes in Edge Animation - dummies

Keyframes Modes in Edge Animation - dummies

Keyframe-verktyg i Edge Animate finns till höger om Play-kontrollerna. För att skapa nyckelfiler automatiskt måste du först aktivera nyckelbilder genom att klicka på den röda stoppklockans ikon. Som standard, när du startar en ny animering, är Stopwatch rött men har gråa linjer som löper genom det (som visat). Här är standardstatus för ...

Redaktörens val

Hur man tolkar figurativt språk för GED RLA-dummiesna

Hur man tolkar figurativt språk för GED RLA-dummiesna

Författare använder språk antingen bokstavligt eller figurativt . GED Reasoning Through Language Arts testet kommer att ha några frågor för att testa din förmåga att identifiera skillnaden. En NASA-vetenskapsman kan beskriva en asteroid väldigt bokstavligt: ​​består huvudsakligen av vatten, blandat med vissa stenar och mindre fasta fragment. Eller kan han eller hon skriva figurativt och beskriva ...

Hur (och var) ska schemalägga för att ta GED-dummiesna

Hur (och var) ska schemalägga för att ta GED-dummiesna

För att ta GED test, schemalägger du det baserat på tillgängliga testdatum. Varje stat eller lokalt testcenter ställer in sitt eget schema för GED-testet, vilket innebär att ditt tillstånd bestämmer hur och när du kan ta varje avsnitt av testet. Det bestämmer också hur ofta du kan återta en misslyckad ...

Hur man förbereder sig på GED RLA Extended Response - dummies

Hur man förbereder sig på GED RLA Extended Response - dummies

Uppsats för utvidgad respons på GED Reasoning Through Language Arts-testet kräver några mycket specifika färdigheter, allt från grammatik och korrekt språkanvändning till förståelse och analysförmåga. Om du någonsin har haft ett argument om vem som har det bästa laget eller vilken arbetsgivare är bättre, vet du redan hur man bedömer argument och svarar. ...