Indholdsfortegnelse:
Video: PHP Tutorials | PHP For Beginners 2025
Nogle gange i C-programmering skal en variabel være som mobiltelefon service: tilgængelig overalt. Variablen kan også bruges til enhver funktion. Denne type variabel kan kaldes en universel variabel. Det kan kaldes en verdensomspændende variabel. Men i C betegnes det som en global variabel.
Sådan bruger du globale variabler
Globale variabler løser specifikke problemer ved at gøre den variable erklæring universel. På den måde kan enhver funktion hvor som helst i programmet få adgang til variablen. Det behøver ikke at blive videregivet eller returneret fra en funktion.
Kaste din alder rundt viser, hvordan en global variabel erklæres og bruges. De globale variabler alder og float påvirkes af begge funktioner. De kan bestilles til disse funktioner, men begge værdier kan ikke returneres. (C-funktioner returnerer kun en værdi.) Derfor bruges den globale variabel som en løsning.
TAGE DIN AGE OM RUNDEN
#include void half (void); ugyldig to gange (ugyldig); alder float fødder; int main () {printf ("Hvor gammel er du:"); scanf ("% d", og alder); printf ("Hvor høj er du (i fødder):"); scanf ("% f", & fødder); printf ("Du er% d år gammel og%. 1f fødder høj. n", alder, fødder); halvt(); to gange(); printf ("Men du er ikke rigtig% d år gammel eller%. 1f fødder høj. n", alder, fødder); returnere (0);} void half (void) {float a, h; a = (float) alder / 2. 0; printf ("Halv din alder er%. 1f. n", a); h = fod / 2. 0; printf ("Halv din højde er%. 1f. n", h);} void to gange (void) {age * = 2; printf ("To gange er din alder% d. n", alder); fødder * = 2; printf ("To gange din højde er%. 1fn", fod);}
Linje 6 erklærer den globale int-variabel alder og floatvariablen fødder . Disse er globale variabler, fordi de er erklæret uden for nogen funktion, deroppe i #include, #define og prototyping land. Variablerne bruges derefter i hver funktion. Deres værdier kan fås gennem hele koden. Selv når disse værdier ændres i funktionen to gange (), bruger hovedfunktionen () -funktionen de nye værdier.
Vær opmærksom på, at to printf () udsagn i funktionen () (W) indpakker deres tekst i Tidsstyring af din alder rundt. Du behøver ikke at pakke disse udsagn i et tekstredigeringsprogram; Indtast dem blot på en enkelt linje.
Træning 1 : Indtast kildekoden for at kaste din alder rundt i din editor, og opret et nyt program. Byg og kør.
Lad være med at være doven ved at bruge globale variabler! Hvis du kan overføre en værdi til en funktion, gør det! Det er korrekt. For mange indolente programmører erklærer alle deres globale variabler for at "løse problemet."Det er sjusket og ukorrekt.
Gode eksempler på globale variabler omfatter oplysninger, som alle funktioner i programmet skal vide, såsom brugeroplysninger, eller om du er online eller om tekst vises eller skjules. I så fald overveje at gøre disse variabler globalt i stedet.
Sådan opretter du en global strukturvariabel
Et bedre eksempel på at bruge en global variabel og en situation, hvor globale variabler er absolut nødvendige, er, når du overfører en struktur til en funktion. I så fald skal du erklære strukturen som global, så alle funktioner kan få adgang til variabler af den pågældende strukturtype.
Lad ikke den massive længde af at overføre en struktur til en funktion skræmme dig! De fleste af de "rigtige" programmer, du til sidst skriver, vil være langt længere!
PASSER EN STRUKTUR TIL EN FUNKTION
#include #include #include #define STØRRELSE 5 struct bot {int xpos; int ypos;}; struct bot initialiserer (struct bot b); int main () {struct bot robotter [SIZE]; int x; SGenerering af tilfældige ((unsigned) tid (NULL)); for (x = 0; xFor at overføre en struktur til en funktion skal strukturen erklæres globalt, hvilket sker mellem linjerne 7 og 10. Det skal ske, selv før funktionen er prototyperet, hvilket finder sted på linje 12.
Funktionen initialiserer () går fra linjer 30 til 41. Strukturen overføres til funktionen og returneres. Bemærk at strukturvariablen skal defineres fuldt ud som argumentet. På linje 30 gives funktionen variablenavnet b inde i funktionen.
Returopgørelsen på Linje 40 overfører strukturen tilbage til opkaldsfunktionen. Faktisk er initialiseringen () -funktionen defineret som en struktur-bot-type funktion. Det er typen af Værdi den vender tilbage.
Øvelse 2 : Skru dit mod til klæbemidlet, og skriv alle de linjer af kildekoden fra At sende en struktur til en funktion i din editor. Byg og kør
Udgangen demonstrerer, hvordan strukturen array blev bestået (et element ad gangen) til en funktion, ændret i func og returneres derefter.