Hirdetés
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Kormányok / autós szimulátorok topikja
- Kész, vége, ennyi volt: eladja tévés üzletágát a Sony
- Hobby elektronika
- Bakelit, Vinyl lemezjatszó
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- A legrosszabb CPU-k – az ExtremeTech szerint
- AMD APU (AM4 és AM5) topik
- Xiaomi eladó/csere
- Melyik tápegységet vegyem?
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
mcwizard
#4110
üzenetére
Üdv mcwizard!
A lokális változók a hívás végén nem törlődnek. A rendszer nem törli őket szándékosan. Ám a tartalmukat nem szabad figyelembe venni a blokkon belül azelőtt, hogy értéket adtunk volna neki.
Az ok rendkívül egyszerű: A lokális változók tartalmát más blokkok lokális változói felülírhatják ha használnak lokális változót illetve ha írják azokat. Így minden blokkban minden lokális változó tartalma lényegében határozatlan, memória szemét van benne. Egyszerűen azért, mert minden blokk ugyanazt a stack-et (memória területet) használja a saját lokális változói tárolására.
Ezért ha csak egyetlen egy blokkod van ami ír egy lokális változót, de a többi blokkban is létrehozol változókat amik így ugyanarra a címre kerülnek, ám azokat nem írod csak olvasod, akkor azt fogod tapasztalni hogy amikor az író blokk megváltoztatja a lokális változó értékét, akkor az a többi blokkban is megváltozik. Illetve az író blokk elején is az az érték van benne amit utoljára beleír.
Ha azonban nem "steril", hanem olyan programban vizsgálnád meg ugyanezt a jelenséget ahol különböző blokkok különböző célra intenzíven használnak különböző belső változókat a saját céljukra (a gyakorlatban minden program ilyen lényegében) akkor gyökeresen mást tapasztalnál.
Ha tehát arra hagyatkozol amit most tapasztaltál, annak vége igen nagy szívás lehet. Ezért nagyon fontos szabály, hogy egy blokkban lokális változót SOHA nem használunk fel azelőtt a blokk lefutásán belül, hogy annak értéket adtunk volna!
Új hozzászólás Aktív témák
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Kormányok / autós szimulátorok topikja
- Kész, vége, ennyi volt: eladja tévés üzletágát a Sony
- Szeged és környéke adok-veszek-beszélgetek
- Háztartási gépek
- Kínai és egyéb olcsó órák topikja
- Hobby elektronika
- Milyen routert?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- World of Tanks - MMO
- További aktív témák...
- Toshiba Enterprise Capacity MG09 18TB - 512MB, 7200rpm, SATA3 - 100/100 -as - Eladó!
- Akció! Gamer PC-Számítógép! Csere-Beszámítás! R5 1600X / RX 580 8GB / 500GB SSD + 2TB HDD / 16GB RAM
- SOYO M4 Air Mini PC, Intel N95, 16 GB DDR4 RAM, 512 GB SSD
- Új Lenovo LOQ 15IRX10, FHD IPS, i7-13650HX ,NVIDIA RTX 5070, 24GB DDR5, 512GB NVMe, gar
- HÁLÓZATI SWITCH AKCIÓ! Több db egyben, használt, nem használt , dobozos, 24-, 26-, 48 portos!
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


