Si deci ar fi mai avantajos ca la fiecare program sa declar variabilele global?
De fapt explicatia lui Filip Stefan nu o prea inteleg asa de bine,oricum nu e cea mai potrivita ca argument.
Treaba sta in felul urmator:
1.tu la o problema la un concurs ai data o limita de memorie de tipul memorie totala/memorie stiva,de exemplu 2mb/1mb sau 16mb/1mb (ce vreau sa spun e ca in general stiva e 1mb)
2.in acea memorie de stiva intra practic ce ai declarat tu in functia main
3.deci declararea vectorilor in main are 2 dezavantaje,anume ca in primul rand depasesti acea memorie pentru stiva in majoritatea problemelor(vei primi kill by signed 11 de regula),deoarece ai nevoie de vectori mari,iar in al doilea rand daca declari vectorul local in main,atunci va trebui sa-l initializezi tu dupa cu 0 peste tot(daca era declarat global era deja initializat peste tot cu 0)

4.totusi nu este bine sa declari orice variabila globala,adica vectorii da,dar variabilele,ar trebui declarate astfel : cele importante pe care le citesti tu din fisierul de intrare,le declari globale(pentru a le folosi eventual mai usor la subprograme),iar restul intermediare si cele pentru fisierul de iesire local ; asta deoarece tot ce este declarat local se afla pe stiva si este cu mult mai rapid decat ce este global,asa ca este foarte prost sa lucrezi cu toate variabilele globale

Deci tine minte asa :
1. VECTORII MEREU GLOBAL (bineinteles la fel si matricele sau orice alt tablou)
2. VARIABILELE IMPORTANTE GLOBAL SI RESTUL LOCAL
Sper ca ai inteles ce vreau sa zic
