Ha deklarálok egy pointert c++-ban, hova mutat?
tanultál már szimpla C nyelvet?
tanultál már a debug részben változófigyelést?
sír rólad, hogy nem.
ha nem adsz kezdőértéket, akkor a memóriában random foglal le neki helyet, és ki tudja milyen adatok voltak ott, na ezért kell kinullázni vagy értéket adni, még mielőtt összehasonlítgatnád.
Miért kéne ehhez C? :D
Alapszabály, hogy változót lehetőleg csak akkor hozz létre, ha már tudsz neki értéket adni, és akkor inicializáld is arra rá. Ha nem inicializálsz egy beépített típusú változót (minden pointer ilyen), akkor annak random értéke lesz, mivel memóriaszemetet fog tartalmazni.
A 0xcccccccc cím az pontosan az, ami: a 0xcccccccc cím. A virtuális memória témakört nézd át.
Ha nem adsz kezdőértéket miért ne hasonlíthatnád össze 0-val (ez a NULL jelentése C++-ban).
int* a;
a == 0;
És már össze is hasonlítottad. Mire gondolsz?
Hát pedig C-ben is ugyanúgy engedi.
Írd ide azt a sort amiben az összehasonlítást végzed meg azt a sort, amiben létrehozod a pointert.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!