Comments
Transcript
Linguaggio C++ 6 Variabili globali e locali
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) Linguaggio C++ 6 Variabili globali e locali Linguaggio C++ 6 1 Nell’ambito di un programma le variabili possono essere: locali locali globali globali Una variabile globale è visibile all’interno di tutto il listato Una variabile locale è visibile solo all’interno del blocco in cui è dichiarata. Una variabile (locale o globale) non può essere ridefinita nell’ambito dello stesso blocco. int main() { int i; ----------float i; ----------- stesso blocco } Possibile coesistenza di due variabili (locale e globale) con lo stesso identificatore (nome) , anche con tipologia diversa, purchè dichiarate in blocchi diversi (anche se annidati) In tal caso la nuova dichiarazione nasconde quella piu` esterna che ritorna visibile con il suo valore non appena si esce dal blocco ove l'identificatore è stato ridichiarato Linguaggio C++ 6 int main() { int i; ----------{ int i; --------------} ----------} 2 1 5 1 Per Pernon nonvisibilità visibilitàdella dellavariabile variabileb,b,ilil compilatore compilatoredefinisce definiscebbnon nondichiarata dichiarata (segnala errore) (segnala errore) Linguaggio C++ 6 ridefinizione ridefinizionedidiuna unastessa stessavariabile variabile ( (locale ) in blocchi diversi locale ) in blocchi diversi 3 La Lavariabile variabileglobale globalexxinizializzata inizializzataalal valore valore11viene vieneoccultata occultatainintutti tuttii i blocchi blocchiche chedichiarano dichiaranoeeinizializzano inizializzano una unapropria propriavariabile variabilexx Linguaggio C++ 6 4 Linguaggio C++ 6 5 Una dichiarazione eseguita fuori da ogni blocco introduce un identificatore globale a cui ci si puo` riferire anche con la notazione ::<ID>. Qui x è definita al di fuori di ogni blocco e pertanto è assegnazione globale Con :: riferimento alla assegnazione globale Linguaggio C++ 6 6 Linguaggio C++ 6 7