Variabilele globale, programare pe c și c

void func1 (void). func2 (void);

int count; / * Count este o variabilă globală * /

int main (void)
count = 100;
func1 ();
return 0; / * Mesaj despre finalizarea cu succes a lucrărilor * /






>

void func1 (void)
func2 ();
printf ( "metru", conta); / * 100 * display-uri /
>

void func2 (void)
int count;
pentru (count = 1; count<10; count++)
putchar ( '');
>

O privire mai atentă la această bucată de software. Trebuie înțeles faptul că, deși nu principală (), nici func1 () nu declară un număr variabil, dar ambele pot folosi. func2 () declară un număr de variabile locale. Când func2 () se referă la numărul, se referă doar la variabila locală în loc de WAN. Trebuie să ne amintim că în cazul în care variabilele globale și locale au același nume, toate referirile la denumirea în cadrul funcției în care variabila locală declarată se va referi la variabila locală, și nu va avea nici un impact asupra global. este foarte convenabil. Dacă o uitați, poate părea ciudat că programul funcționează chiar dacă totul pare corect.







Variabilele globale sunt stocate într-o zonă de memorie fixă ​​stabilită de compilator. Variabilele globale sunt extrem de utile atunci când aceleași date sunt utilizate în mai multe funcții de program. Evitați utilizarea inutilă a variabilelor globale din trei motive:

  1. Ei folosesc memoria pentru întreaga durată a programului, și nu atunci când acestea sunt necesare.
  2. Utilizarea variabilelor globale în loc de cauze locale, că funcțiile sunt mai privat, deoarece ele depind de variabile care sunt definite în afara.
  3. Utilizarea unui număr mare de variabile globale poate cauza erori într-un program de cauza efectelor necunoscute și nedorite.

Unul dintre elementele-cheie ale structurii limbilor este separarea de cod și date. In C separarea se realizează prin utilizarea variabilelor și funcțiilor locale. De exemplu, mai jos sunt prezentate două moduri de scriere Mul () - o funcție simplă care calculează produsul a două numere întregi.

Două modalități de scriere Mul ()