Huis Persoonlijke financiën Basisprincipes van globale variabelen in C-programmering - dummies

Basisprincipes van globale variabelen in C-programmering - dummies

Inhoudsopgave:

Video: Math can help uncover cancer's secrets | Irina Kareva 2024

Video: Math can help uncover cancer's secrets | Irina Kareva 2024
Anonim

Soms moet in C-programmering een variabele zijn zoals mobiele telefonie: overal beschikbaar. De variabele kan ook op elk moment door elke functie worden gebruikt. Dit type variabele kan een universele variabele worden genoemd. Het zou een wereldwijde variabele kunnen worden genoemd. Maar in C wordt dit een globale variabele genoemd.

Globale variabelen gebruiken

Globale variabelen lossen specifieke problemen op door de variabele declaratie universeel te maken. Op die manier heeft elke willekeurige functie in het programma toegang tot de variabele. Het hoeft niet te worden doorgegeven of geretourneerd door een functie.

Tossing Your Age Around laat zien hoe een globale variabele wordt gedeclareerd en gebruikt. De globale variabelen leeftijd en zwevend worden beïnvloed door beide functies. Ze kunnen aan die functies worden doorgegeven, maar beide waarden kunnen niet worden geretourneerd. (C-functies retourneren slechts één waarde.) Daarom wordt de globale variabele gebruikt als een oplossing.

MET UW LEEFTIJD RONDOM

#omvat de ongeldige helft (ongeldig); ongeldig tweemaal (ongeldig); int leeftijd; drijfvoeten; int main () {printf ("Hoe oud ben je:"); scanf ("% d", & leeftijd); printf ("How tall are you (in feet):"); scanf ("% f", & feet); printf ("U bent% d jaar oud en%. 1 voet lang. n", leeftijd, voet); voor de helft(); tweemaal(); printf ("Maar je bent niet echt% d jaar oud of%. 1 voet lang. n", leeftijd, voeten); return (0);} void half (leeg) {float a, h; a = (float) leeftijd / 2. 0; printf ("De helft van uw leeftijd is%. 1f. n", a); h = feet / 2. 0; printf ("De helft van je lengte is%. 1f. n", h);} void twice (void) {age * = 2; printf ("Twice your age is% d. n", age); feet * = 2; printf ("Twice your height is%. 1fn", feet);}

Lijn 6 verklaart de globale int-variabele leeftijd en de float-variabele feet . Dit zijn globale variabelen omdat ze buiten elke functie worden verklaard, daarboven in #include, #define en prototyping land. De variabelen worden vervolgens in elke functie gebruikt. Hun waarden zijn overal in de code toegankelijk. Zelfs als die waarden worden gewijzigd in de functie double (), gebruikt de functie main () de nieuwe waarden.

Houd er rekening mee dat twee printf () -instructies in de functie main () hun tekst omsluiten in Tossing Your Age Around. U hoeft deze instructies niet in een teksteditor in te pakken; typ ze gewoon allemaal op één regel in.

Oefening 1 : Typ de broncode voor Tossing Your Age Around in je editor en maak een nieuw programma. Bouw en ren.

Wees niet lui over het gebruik van globale variabelen! Als u een waarde aan een functie kunt doorgeven, doe dat dan! Het is gepast. Te veel indolente programmeurs verklaren al hun variabelen globaal om "het probleem op te lossen."Dat is slordig en ongepast.

Goede voorbeelden van globale variabelen zijn informatie die alle functies in het programma moeten kennen, zoals gebruikersinformatie of dat u online bent of dat tekst wordt weergegeven of verborgen. Overweeg in dat geval om deze variabelen in plaats daarvan globaal te maken.

Een globale structuurvariabele maken

Een beter voorbeeld van het gebruik van een globale variabele en een situatie waarin globale variabelen volledig noodzakelijk zijn, is wanneer een structuur aan een functie wordt doorgegeven. In dat geval moet u de structuur als globaal declareren, zodat alle functies toegang hebben tot variabelen van dat structuurtype.

Laat de enorme lengte van het doorgeven van een structuur aan een functie u niet intimideren! De meeste "echte" programma's die je uiteindelijk schrijft zullen veel langer zijn!

STRUCTUUR OVERBRENGEN NAAR EEN FUNCTIE

# include # include # include #define SIZE 5 struct bot {int xpos; int ypos;}; struct bot initialize (struct bot b); int main () {struct bot robots [SIZE]; int x; srandom ((unsigned) tijd (NULL)); for (x = 0; x 

om een ​​structuur door te geven aan een functie, moet de structuur globaal worden gedeclareerd, wat gebeurt tussen regels 7 en 10. Dat moet nog gebeuren voordat de functie wordt geprototypeerd, wat plaatsvindt op regel 12.

De initialize () -functie loopt van regels 30 tot en met 41. De structuur wordt doorgegeven aan de functie en geretourneerd.Let op dat de structuurvariabele volledig moet worden gedefinieerd als het argument.Op regel 30 wordt de variabele de naam van de variabele gegeven b binnen de functie.

De return-opdracht op regel 40 geeft de structuur terug naar de aanroepende functie. De initialize () -functie is inderdaad gedefinieerd als een structuurbotertype van functie. value it returns.

Oefening 2 : Schroef je moed in op de knelpunten en typ al die regels broncode van het doorgeven van een structuur naar een functie in je editor. Build and run.

De uitvoer toont hoe de structuurarray werd doorgegeven (één element tegelijk) aan een functie, aangepast in de func en vervolgens geretourneerd.

Basisprincipes van globale variabelen in C-programmering - dummies

Bewerkers keuze

Tien Helpbronnen voor Junos OS - dummies

Tien Helpbronnen voor Junos OS - dummies

Dit is een top-tien lijst met bronnen die u moet zoeken meer informatie over softwarebewerkingen, training en ondersteuning voor Junos - alle extra details die u mogelijk nodig heeft om Junos OS te kunnen configureren en bedienen in uw eigen netwerkimplementaties. CLI Help-commando's Bent u op zoek naar meer achtergrondinformatie over hoe een bepaalde functie ...

De functie van de drie vlakken van Junos netwerk OS - dummies

De functie van de drie vlakken van Junos netwerk OS - dummies

De architectuur van de Junos opererende systeem verdeelt de functies van besturing, services en doorsturen op verschillende niveaus. Elk van de vlakken van Junos OS biedt een kritieke set van functionaliteit in de werking van het netwerk. Besturingsvlak van het Junos-netwerkbesturingssysteem (NOS) Alle functies van het besturingsvlak lopen op ...

De basisprincipes van BGP-routebealing - dummy's

De basisprincipes van BGP-routebealing - dummy's

Het configureren van Border Gateway Protocol (BGP) kan nogal lastig zijn, vooral met grote aantallen peersessies die handmatig moeten worden geconfigureerd. In feite kan in een groot netwerk de full-mesh-vereiste voor IBGP een provisioning-nachtmerrie zijn. BGP's antwoord op de IBGP-paring-configuratie-nachtmerrie die het volledige maaswerk is, wordt routeberefening genoemd. Route ...

Bewerkers keuze

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Als de allerbeste locatie op het web staat op de pagina een van de zoekmachines, je moet de SEO-elementen kennen die je daar kunnen brengen. Een goede plek om te beginnen is met zoekwoorden. Zoekmachines gebruiken geavanceerde processen om zoekwoordgebruik en andere factoren te categoriseren en analyseren om erachter te komen ...

Persberichten als bron van SEO-inhoud - dummies

Persberichten als bron van SEO-inhoud - dummies

Het leuke aan persberichten is dat u ze zonder toestemming op uw website kunt gebruiken, en sommige zullen al voor de zoekmachine zijn geoptimaliseerd. Het doel van een persbericht is om het uit te sturen en te zien wie het ophaalt. U hoeft geen contact op te nemen met de eigenaar van het persbericht, omdat ...

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Zelfs de domeinnaam van uw site moet geoptimaliseerd voor zoekmachines. Zoekmachines lezen uniforme resource locators (URL's), op zoek naar sleutelwoorden erin. Bijvoorbeeld als u een website heeft met de domeinnaam knaagdierracen. com en iemand zoekt Google op knaagdierenraces, Google ziet rodent-racing als een wedstrijd; omdat er een streepje verschijnt tussen de twee ...

Bewerkers keuze

Praxis Elementair onderwijs Examen-Economie - dummies

Praxis Elementair onderwijs Examen-Economie - dummies

U zult enkele basisconcepten van de economie voor de Praxis moeten kennen Elementair onderwijs examen. Elementaire economie onderzoekt de wens voor, de productie van en de verkoop en het gebruik van geld, zowel lokaal als wereldwijd. Het onderwijzen van economie omvat concepten zoals behoeften versus behoeften, kosten en meer tot nadenken stemmende onderwerpen, zoals de volgende: ...

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Het Praxis basisonderwijs: Curriculum, instructie en beoordeling examen (5017) bestrijkt een breed scala van wat u moet weten over basisonderwijs. Als u het Praxis Elementary Education: Content Knowledge-examen (5018) neemt, moet u zich ervan bewust zijn dat het de dekking beperkt tot de inhoud van de vier hoofdonderwerpen die een elementaire leraar is ...

Praxis Core For Dummies Cheat Sheet - dummies

Praxis Core For Dummies Cheat Sheet - dummies

Voordat je te opgewonden raakt, begrijp dat de informatie die volgt niet klopt eigenlijk niet over het bedriegen van de Praxis. Het gaat echt meer om de meest efficiënte manieren om je voor te bereiden op het examen. Maar "voorbereidingsblad" heeft niet helemaal dezelfde reden. Trouwens, vals spelen is niet nodig als je weet wat je aan het doen bent, en ...