...

Linguaggio C++ 6 Variabili globali e locali

by user

on
Category: Documents
50

views

Report

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
Fly UP