Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.
Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.
Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.
Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.
Meniu shortcuturi | ? |
Căutare probleme sau utilizatori | / |
Navigare printre rezultatele căutării | ↑, ↓ |
Meniu de contact și feedback | CTRL + Shift + F |
Ieșire din meniuri | Esc |
Setări editor | CTRL + Shift + S |
Schimbare stil editor | CTRL + Shift + E |
Șabloane de cod | CTRL + Shift + 1/2/3 |
Golire editor | CTRL + Shift + 4 |
Probabil că ați auzit de variabile globale sau de variabile locale când ați lucrat cu funcții (subprograme) — ce înseamnă ele defapt?
O variabilă este locală dacă este declarată în cadrul unei funcții. Astfel, această variabilă nu poate fi accesată decât în cadrul aceleiași funcții.
O variabilă este globală dacă este declarată în afara oricărei funcții. Astfel, variabila poate fi accesată de către orice funcție a programului.
Să analizăm următorul program în C++:
#include <iostream>
using namespace std;
int main()
{
int n, s = 0;
cin >> n;
for(int i = 1; i <= n; i++) {
s = s + i;
}
cout << "Suma este egala cu " << s;
return 0;
}
În acest cod, variabilele n
și s
sunt declarate în funcția main
. Prin urmare, dacă am adăuga o funcție care să afișeze variabila s
, următorul cod nu ar funcționa, deoarece variabila s
este locală:
#include <iostream>
using namespace std;
void afisare() {
cout << "Suma este egala cu " << s; //Eroare, deoarece s este variabilă locală, fiind declarată în main().
}
int main()
{
int n, s = 0;
cin >> n;
for(int i = 1; i <= n; i++) {
s = s + i;
}
afisare();
return 0;
}
Pentru ca programul să funcționeze, vom declara variabila s
global:
#include <iostream>
using namespace std;
int s = 0; //Am declarat variabila s global
void afisare() {
cout << "Suma este egala cu " << s; //Funcționează, deoarece s este variabilă globală
}
int main()
{
int n;
cin >> n;
for(int i = 1; i <= n; i++) {
s = s + i;
}
afisare();
return 0;
}
0
, spre deosebire de variabilele locale, care au ca valoare inițială o valoare aleatorie;