Keresés

Hirdetés

Új hozzászólás Aktív témák

  • shev7

    veterán

    válasz Sk8erPeter #1420 üzenetére

    mert ha egytol indexelnenk, akkor
    p[1] = *p
    p[2]= *(p+1)
    .
    .
    .

    0-s indexelesnel mindket oldalon ugyan az a szam van :D

    "hogy lehet deklarálni úgy egy változót, hogy byte *p; . Ez mire jó ebben a formában? "

    Na most ennek utananeztem, hogy ne irjak hulyeseget. A lenyege, hogy egyertelmu legyen. A * operator ugyanis jobbra kot. Barmennyire is irod kozel a tipushoz :)

    Szoval ha irsz egy ilyet:

    long* first, second;

    akkor deklaraltal egy long pointert (first) es egy long valtozot (second). De akkor mar miert nem irnad le egyertelmuen:

    long *first, second; es igy senki nem fogja azt gondolni hogy ket pointert deklaraltal.

    ''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

  • Karma

    félisten

    válasz Sk8erPeter #1420 üzenetére

    "És hogy is van tovább? :)"

    Igazából nincs itt sok már, csak azért tereltem el a szót, hogy ne legyen kavar. :N
    A pointer a háttérben mindig egy 32/64 bites int szám, egyszerű változó, és úgy is viselkedik, mintha egy sima int változód lenne.

    "Mondjuk jelen esetben a példaprogramnál ez nem volt világos, hogy minek foglaltunk akkor helyet az adatoknak, ha utána rögtön az eltárolás után meg is szabadultunk tőle. Igaz, erre lehetne azt mondani, hogy mivel nem volt része a feladatnak az, hogy tovább tárolgassuk, és még csináljunk vele valamit, csak a szavakra darabolás."

    Pontosan ez történt :) Felépíti, és el is tünteti. Szerintem durva pontlevonás járna érte, ha nem tenné a hallgató. Viszont cserébe jól bemutatja, hogy egy fésűs adatszerkezetet hogy kell felszabadítani.

    “All nothings are not equal.”

Új hozzászólás Aktív témák