Cuprins:
- Cum se utilizează variabilele globale
- Un exemplu mai bun de utilizare a unei variabile globale și o situație în care variabilele globale sunt absolut necesare este atunci când se trece o structură la o funcție. În acest caz, trebuie să declarați structura globală astfel încât toate funcțiile să poată accesa variabilele acelui tip de structură.
Video: Curs 4. Tutorial C++ : Variabile si Tipuri de date 2024
Uneori, în programarea C, o variabilă trebuie să fie ca un serviciu de telefonie celulară: disponibil peste tot. De asemenea, variabila poate fi utilizată de oricare funcție în orice moment. Acest tip de variabilă ar putea fi numită variabilă universală . Ar putea fi numită o variabilă la nivel mondial . Dar în C, este denumită variabilă global .
Cum se utilizează variabilele globale
Variabilele globale rezolvă probleme specifice făcând declarația variabilă universală. În acest fel, orice funcție de oriunde în program poate accesa variabila. Nu trebuie să fie trecut sau returnat de la o funcție.
Încadrarea vîrstei în jur arată cum este declarată și folosită o variabilă globală. Variabilele globale vârstă și float sunt afectate de ambele funcții. Acestea pot fi transmise acestor funcții, dar ambele valori nu pot fi returnate. (Funcțiile C returnează o singură valoare.) Prin urmare, variabila globală este utilizată ca soluție.
ÎMBUNĂTĂȚI VÂRSTA DVS.
#include jumătate gol (vid); vid dublu (vid); int age; picioare plutitoare; int main () {printf ("Câți ani sunteți:"); scanf ("% d", & vârstă); printf ("Cât de înalt ești (în picioare):"); scanf ("% f", & picioare); printf ("Sunteți% d ani și%. 1f picioare înălțime", vârstă, picioare); jumătate(); de două ori(); printf ("Dar nu esti cu adevarat% d ani sau% 1f picioare inaltime n, varsta, picioare); retur (0);} void half (void) {float a, h; a = (float) vârsta / 2. 0; printf ("jumătate din vârsta ta este% 1f. n", a); h = picioare / 2. 0; printf ("jumătate din înălțimea ta este% 1f. n", h);} void de două ori (void) {age * = 2; printf ("De două ori vârsta ta este% d.", vârstă); picioare * = 2; printf ("De două ori înălțimea ta este% 1fn", picioare);}
Linia 6 declară variabila globală int vârsta și variabila float picioare . Acestea sunt variabile globale, deoarece sunt declarate în afara oricărei funcții, acolo în #include, #define și prototipuri. Variabilele sunt apoi utilizate în fiecare funcție. Valorile lor pot fi accesate în întregul cod. Chiar și atunci când aceste valori sunt schimbate în funcția de două ori (), funcția principal () folosește noile valori.
Fiți conștient de faptul că două instrucțiuni printf () din funcția principală () își înfășoară textul în Tossing your Age Around. Nu este nevoie să încheiați aceste declarații într-un editor de text; pur și simplu tastați-le pe toate pe o singură linie.
Exercițiul 1 : Introduceți codul sursă pentru Tossing Your Age Around în editorul dvs., creând un nou program. Construiți și alergați.
Nu fi leneș în ceea ce privește utilizarea variabilelor globale! Dacă puteți să transmiteți o valoare unei funcții, faceți acest lucru! Este corect. Prea mulți programatori indolent declara toate variabilele lor globale pentru a "rezolva problema."Asta e nedrept și necorespunzător.
Cum se creează o variabilă de structură globalăUn exemplu mai bun de utilizare a unei variabile globale și o situație în care variabilele globale sunt absolut necesare este atunci când se trece o structură la o funcție. În acest caz, trebuie să declarați structura globală astfel încât toate funcțiile să poată accesa variabilele acelui tip de structură.
Nu lăsați lungimea masivă a trecerii unei structuri unei funcții să vă intimideze! Majoritatea programelor "reale" pe care le veți scrie în cele din urmă vor fi mult mai lungi!
TRANSFERUL STRUCTURII LA O FUNCȚIE
#include #include #include #define SIZE 5 struct bot {int xpos; int ypos;}; struct bot inițializa (struct bot b); int main () {rob robot struct [SIZE]; int x; srandom ((unsigned) timp (NULL)); Pentru a trece o structura unei functii, structura trebuie declarata global, ceea ce se intampla intre liniile 7 si 10. Aceasta trebuie sa se intample chiar inainte ca functia sa fie prototipata, care are loc la linia 12.
Funcția initialize () rulează de la liniile 30 până la 41. Structura este trecută la funcție și returnată.Rețineți că variabila de structură trebuie să fie pe deplin definită ca argument.Din linia 30, funcția este dată numele variabileib
în interiorul funcției Declarația de returnare de la linia 40 trece structura înapoi la funcția de apelare.În fapt, funcția initialize () este definită ca o structură a funcției tip bot. Exercițiul 2
:
Înșurubați-vă curajul la locul lipirii și tastați toate acele rânduri de cod sursă din Transmiterea unei structuri unei funcții în editorul dvs. Construiți și executați Ieșirea demonstrează modul în care a trecut matricea de structură (un element la un moment dat) unei funcții modificate în func și apoi returnat.