mikä on NULL?

tietämätön koodari

oon koodaillu muutaman vuoden ajan kaikkea hyötyohjelmista peleihin ja monta kertaa oon törmännyt tuohon NULL-sanaan mutten oikein ole vielä sisäistänyt mitä se tarkoittaa ja mihin sitä käytetään. liittyykö se jotenkin osoittimiin? en ole perehtynyt niihin, koska en tajua niistä hevonp:tä.

12

5779

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • koodari

      siis niinku 0

      eli kun sinulla on yksi omena ja sitten syöt yhden omenan sinulle jää NULL omenaa.

      • teuro

        Kun olet syönyt kaikki omenat sinulla ei ole NULL omenaa vaan nolla omenaa. NULL on määrittelemätön ei siis sama asia kuin nolla. Ajatellaan muuttujaa x määritellään se vaikkapa intiksi int x = 0; nyt x siis on määritelty ja sen arvo on nolla. Sen sijaan int x = NULL; ei ole sama asia kuin nolla. Jos muuttuja määritellään näin ei sen sisällöstä voida olla varmoja.

        Jos taasen käytetään määrittelemätöntä muuttujaa esim c - ohjelmissa kääntäjä kiukuttelee NULL muuttujasta, koska muuttujaa ei ole määritelty.


      • jos pilkkua viilataan
        teuro kirjoitti:

        Kun olet syönyt kaikki omenat sinulla ei ole NULL omenaa vaan nolla omenaa. NULL on määrittelemätön ei siis sama asia kuin nolla. Ajatellaan muuttujaa x määritellään se vaikkapa intiksi int x = 0; nyt x siis on määritelty ja sen arvo on nolla. Sen sijaan int x = NULL; ei ole sama asia kuin nolla. Jos muuttuja määritellään näin ei sen sisällöstä voida olla varmoja.

        Jos taasen käytetään määrittelemätöntä muuttujaa esim c - ohjelmissa kääntäjä kiukuttelee NULL muuttujasta, koska muuttujaa ei ole määritelty.

        Siis kyllähän se NULL on määritetty nollaksi (#define NULL 0). Eli jos sitä käsitellään numeeristen primitiivityyppien kanssa niin samaa asiaa se tarkoittaa. Sen sijaan "null" on varattu sana, jolla alustetaan/invalidoidaan/whatever osoitin, ja jota voi käyttää vain osoittimien kanssa.


      • teuro
        jos pilkkua viilataan kirjoitti:

        Siis kyllähän se NULL on määritetty nollaksi (#define NULL 0). Eli jos sitä käsitellään numeeristen primitiivityyppien kanssa niin samaa asiaa se tarkoittaa. Sen sijaan "null" on varattu sana, jolla alustetaan/invalidoidaan/whatever osoitin, ja jota voi käyttää vain osoittimien kanssa.

        NULL on ihan oikeasti mitätön / määrittelemätön. Se että asia definellä määritelty vastaamaan nollaa on ihan eri asia kuin NULL. Voidaanhan mitä tahansa määritellä definellä vaikkapa #define infinity 854;
        tällöin ääretön olisi 854. Itse puhun nyt käsitteistä en jonkin ohjelmointikielen sisäisistä rakenteista.


      • Juuba
        jos pilkkua viilataan kirjoitti:

        Siis kyllähän se NULL on määritetty nollaksi (#define NULL 0). Eli jos sitä käsitellään numeeristen primitiivityyppien kanssa niin samaa asiaa se tarkoittaa. Sen sijaan "null" on varattu sana, jolla alustetaan/invalidoidaan/whatever osoitin, ja jota voi käyttää vain osoittimien kanssa.

        Joskus NULL voi olla ihan muuta kuin numero nolla. Jos joku järjestelmä ei käytä numeroa nolla koskaan, niin järkevää on valita NULL siitä järjestelmän käyttämien numeroiden alusta tai keskivaiheilta.


    • NULLin

      NULLia käytetään, kun halutaan nollata osoitin. Yleensä sitä käytetään:
      - paluuarvona osoittamaan, että joku asia meni pieleen
      - näyttämään, että osoitin on alustamatta

      Aikas outoo että oot selvinny ilman osoittimien ymmärrystä, meinaan niitähän vilisee joka paikassa.
      Kieltämäti useissa teoksissa pointterien käyttö on neuvottu niin mutkikkaasti ettei niistä tajua mitään. Aika helppoja tajuttavia ne kuiteski on.

    • ratkaisee
    • ..N U L L...

      ..null/nil on määrittelemätön arvo, yksinkertaisesti.

    • Multimeedio

      eli universaali eli täysin järjestelmäriippumaton nolla: nythän on hyvinkin pitkälti niin, että ohjelmoijalla eikä sen ohjelman käyttäjälläkään ole eikä tarvitsekaan olla mitään käsitystä siitä, kuinka sitä ohjelmaa pyörittävä järjestelmä eli se kone sen nollankin kulloinkin tulkitsee eli näkee eli mitä lukua se kone pitää sisällänsä nollana, joten täytyy olla jokin keino kertoa sille koneelle, että nyt tarkoitetaan sitä koneenkin nollaa eli NULL: ia, koska kaikki muut luvuthan esitetään sen koneenkin sisällä suhteessa nimenomaisesti siihen konenollaan eli NULL: iin, jolloin phutaan sen koneen sisä- ja ulkopuolella samoista luvuista, vaikka ne saattaisivat näyttää täysin eriltä, mikäli ne voitaisiin kirjoittaa vierekkäin siihen niin esim näytölle taikka muistivihkoon. Siinä on kyse sopimuksesta.

    • Anonyymi

      Mäki haluisin tietää mikä on NULL

      • Anonyymi

        Linuxin manuaalisivulta:
        #include <stddef.h>

        #define NULL ((void *) 0)

        Tuossapa tuo. Kuten näkyy, se ei ole pelkästään nolla vaan void-osoitin, joka on alustettu nollaksi. Typecastin avulla estetään, ettei arvoa voi sijoittaa muuhun kuin osoitintyyppiin ja silloinkin joutuu tekemään oikean typecastin. Tämä helpottaa koodin pitämistä siistinä.


      • Anonyymi

        Se tarkoittaa joko "ei yhtään mitään" tai että "ei viitettä" tms.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Pehmeää laskua

      Sinulle. Muutaman kilsan päästä. Mieheltä, joka salaa välittää.
      Ikävä
      94
      3632
    2. Nainen olet minun

      Olen ominut sinut itselleni, täysin itsekkäistä syistä. Haluan rakastella sinua nainen, toivottavasti sinäkin minua. Oli
      Ikävä
      45
      2992
    3. Sille ei voi enää mitään

      Miten kaikki meni aiemmin. Oon aivan lukossa 🔒 Tuskin uskallat enää mitää tehdä. Ehkä pitää luovuttaa vaan.
      Ikävä
      78
      2497
    4. Mukavaa päivää

      Miehelle 🖕❤️‍🔥 Kahvia ja kävelylle🌞
      Ikävä
      61
      2358
    5. Harmi jos ei enään nähdä

      Ehkä se on parempi näin kuitenkin. Ehkä jotain uutta löytyy. Uskon ja toivon että olet onnellinen. Sinussa on kaikki
      Ikävä
      51
      2321
    6. Miten suhtauisitte jos kaivattunne sanoisi, ettei hänestä ole seurusteluun

      mutta seksi, hellyys ja yhdessäolo kelpaa kyllä??
      Ikävä
      117
      2297
    7. Vau miten upea nainen!

      Näytit todella tyrmäävältä. 🤩😍 En meinannut saada katsettani irti sinusta.
      Tunteet
      20
      2187
    8. Kunpa minä tietäisin

      Olisipa minulla tietoa, siitä oletko sinä nainen kiinnostunut minusta, miehestä joka tätäkirjoittaa, vai olenko minä aiv
      Ikävä
      21
      2183
    9. Merja Kyllönen: Ero

      Joko uusi kierroksessa
      Suomussalmi
      117
      2178
    10. En voi sanoa että toivon sinulle hyvää.

      Ei meitä ole tarkoitettu yhteen.
      Ikävä
      64
      2040
    Aihe