[elektro] C kérdés

hg12345 hg12345 at freemail.hu
Fri May 16 08:21:36 CEST 2008


Kedves Kollégák!

Ae eredeti kérdés arra vonatkozott, hogy egy SWITCH utasítás esetén 
megengedhető mélyebb szintre tenni a CASE címkéket, mert erre nem 
térnek ki a leírások. Itt példként említettem meg két lehetőséget mint 
egy IF egyik ágába belépést és pl. egy FOR ciklus testébe való belépést.
A fenti dolgokat a C nem tiltja és a forditó megengedi.  (ilyet a c-ben 
más szerkezetekben alapvetően nem lehet megvalósítan, ez már csak 
egy gondolat hogy a nyelv kitalálóinak ez elkerülte a figyelmét vagy 
direkt csinálták :-)

A ciklus testbe való belépés esetén ami egy SWITCH törzsén belül 
található, a ciklus viselkedés tényleg lehet nem kicsámitható, ha egy 
nem inicializált local változó is van a ciklusban és ezt a rutint több 
helyről hivjak, akkor a stack-ben elözöleg maradt értékek határozzák 
meg mi történik. Megjegyezném egy inteligens forditó biztos ad 
figyelmeztetést, hogy nem inicializált változót használsz a ciklusban!

Nem akarom a vitát eldönteni, de gondolom a vita egy kicsit 
értelmetlen, mert ha valaki ilyesmire vetemedik, akkor elötte beállítja a 
ciklusban használt változókat pointerek és a ciklust jó hajtja végre a 
program. A másik eset, az meg hiba! Ilyet nem érdemes elkövetni, ha 
meg becsúszik akkor minél előbb javítani kell.

Szóval jó távolra kerültünk az eredeti kérdéstől amire sajnos igazi 
választ nem kaptam :-( (de nem is lehet)


> István írta:
> > mert a ciklusváltozó éppen aktuális értékétől függ hogy mi fog 
történni.
> > Hányszor fut le a ciklus, eközben esetleg agyonkeféli a memóriát, 
stb....
> > Az,hogy meghatározható az értéke, nem jelenti azt, hogy mindíg 
ugyanaz fog történni.
> > Ráadásul ennek semmi köze a fordítóhoz.
> 
> De, eleg sok koze van, es amennyiben ugyanazokat az allapotokat 
jarja be 
> a program <START> utan, ugyanaz lesz a valtozo erteke mindig (itt 
most 
> feltetelezem, hogy a hardver bekapcsolaskor mindig ugyanugy 
inicialja a 
> memoriat). Vannak forditok amiknel ha int a; akkor a mindig 0 lesz, 
> vannak amiknel nem tudni, vannak amik egy tombot helyfoglalas utan 
> kinullaznak, vannak amelyek csak az elso elemet, vannak amelyek 
egyiket 
> senem. Vannak amelyek nem is engedik int a; utan hasznalni a 
valtozot 
> ertekadas nelkul, vannak amelyek nem foglalkoznak vele (nekik 
> keszitettuk ezt a filmet >>regi OTP reklam<<) Ez nagyon fugg a 
> forditotol, es egy szabvany sem targyalja.
> 
> -----------------------------------------
>           elektro[-flame|-etc]
> 

_______________________________________________________
BEÉPÍTHETŐ GÉPET, hűtőt, mosógépet RENDELJ MOST!
AEG-ELECTROLUX-ZANUSSI gépek AKCIÓS áron ORSZÁGOS házhozszállítással
VIDEÓ termékbemutatóval CSAK nálunk, az ELECTROLUXSHOP-HU-tól
http://ad.adverticum.net/b/cl,1,6022,264301,317457/click.prm




More information about the Elektro mailing list