A helyi és globális változók

Emlékezzünk arra, hogy minden modul (eljárás, függvény, program) áll header (procedure ..., funkció ..., a program ...), és a blokk.

Ha bármelyik egység eljárás tartalmaz p1 p2 belsejében eljárás. akkor azt mondjuk, hogy be van ágyazva a p2 p1.







Az azonosítók bevitt egységek (eljárások, függvények), hogy leírja a változók, konstansok, típusok, eljárások, az úgynevezett a helyi egység. Egy ilyen egység együtt modulok beágyazott hívják körét ezeknek a helyi változók, konstansok, eljárások és típusok.

Konstansok, változók, típusok, a programban leírt mondatban nevezett globális. Úgy tűnik, könnyebb kezelni, általában csak a globális változók, leírja őket a programban. De a használatát lokális változók lehetővé teszi a rendszer jobban optimalizálni a programot, így jobban látható, és csökkenti a hibák valószínűségét.

Írásakor programok beágyazott modulokat, akkor be kell tartania az alábbi szabályokat:

  1. Ismertesse az azonosítókat az egység, ahol használják őket, ha lehetséges.
  2. Ha egy és ugyanazon objektum (változó típus konstans) használnak két vagy több blokkot, szükséges, hogy leírja az objektumot a legkülső őket tartalmazó összes többi egység, hogy használja ezt a tárgyat.
  3. Ha a változó alkalmazunk az eljárásban, meg kell őriznie értékét, amíg a következő hívást ezt az eljárást, szükség van, hogy leírja egy ilyen változó külső blokk tartalmazó eljárás.






Lokalizáció változók ad a programozó nagyobb szabadságot a kiválasztásban azonosítók. Így, ha a két A és B eljárások teljesen elválasztva egymástól (azaz, nem beágyazott egy másik), az azonosítókat a velük lehet választani meglehetősen önkényesen, különösen, lehet ismételni. Ebben az esetben a megfelelő azonosító különböző memória területeket megfelelnek az nem teljesen kapcsolódik egymáshoz.

Ha ugyanazt az azonosítót részben leírt b és egy második alkalommal leírt beágyazott blokkban b c. emlékeznünk kell arra, hogy ez a két azonos azonosítót felelnek meg a különböző memória helyek.

A globális változók i és visszahúzott két memória sejtek. Az első, hogy a nyilatkozatok egy: = 2,0 és i: = 15. Ezután, p (a) az eljárást nevezik. Működése során a cella p adott helyi változó i és küldje el a 3-as szám vége után a sejt p i eljárást program „elfelejtett”. Miután visszatért az állítás writeln program tudja csak egy cella i - a globális, azaz Az egyik, hogy a számot tartalmazza 15. Ezért a program kiírja i = 15, a = 23,0, mert a = 3 + 10 * 2.

Amennyiben a helyi és globális változók tartoznak azonos típusú komplex, az ilyen típusú kell szakaszban leírt típusnak. és írja le a változók magukat ezen típus.

Ebben a példában, a változók a és b segítségével leírt módon az általános típusú ab. Ha a helyi és globális változók leírását ugyanúgy, de nem egy gyakori típusa, a program nem „érti”, hogy ezek a változók tartoznak azonos típusú.

Ebben a példában, a változók a és b - az azonos tömb, azaz Ez a két típus azonos, de a program, azonban „nem hiszem”, hogy a és b tartoznak azonos típusú. Ez annak a ténynek köszönhető, hogy a megadott leírás tömbök különböző blokkokban.




Kapcsolódó cikkek