Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 28-07-2003, 12:37
deathz0rz
deathz0rz is offline
hier kwam ik niet uit, dus ff ee nsimpele vraag: kan je een int ook de waarde NULL geven?

Offtopic: btw, ik had eerst "[C] NULL" als topicname, maar dat pikt dit forum niet, worden lowercase... das nogal irri
__________________
Ooit. Dan.
Met citaat reageren
Advertentie
Oud 28-07-2003, 17:49
IceManX
Avatar van IceManX
IceManX is offline
Tip: probeer het uit. Compileert ie, dan kan het.
__________________
More than meets the eye - www.achterklap.nl
Met citaat reageren
Oud 28-07-2003, 20:31
Kaboon
Kaboon is offline
Het is mogelijk.
Met citaat reageren
Oud 28-07-2003, 21:23
McMotion
Avatar van McMotion
McMotion is offline
als het goed is compileert hij wel jah maar wat wil je ermee bereiken? hij zet gewoon de waarde 0 erin dan, waarom tiep je niet gewoon int i = 0.. of wil je daarmee aangeven dat er geen waarde beschikbaar is zoals een NULL in een database.. dan werkt het niet omdat je de waarde 0 wil kunnen opslaan zonder dat het "geen waarde" betekent... dan moet je een pointer naar een int maken en die laten wijzen naar een int of NULL in de pointer zetten alsie leeg is... in dat geval is gewoon een boolean erbij om te kijken of hij vol is handiger
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 29-07-2003, 08:21
Chimera
Avatar van Chimera
Chimera is offline
Als het goed is slikt je compiler "int i = NULL" niet, maar met een cast kan het wel. Zie het nut compleet niet maargoed, en bovendien is het semantisch compleet onjuist. In bijvoorbeeld Java hoef je dat niet te proberen.
Met citaat reageren
Oud 29-07-2003, 11:25
deathz0rz
deathz0rz is offline
ff kijken, wat wou ik ook al weer?

*zoek*

owja, ik heb een array van ints en die hoeft niet helemaal vol te zitten, en een element uit die array moet ook de waarde 0 kunnen hebben. dus wou ik de laatste+1 element de waarde NULL geven. maar dat werkt dus niet. ik doe het wel met -1.
__________________
Ooit. Dan.
Met citaat reageren
Oud 29-07-2003, 11:40
Chimera
Avatar van Chimera
Chimera is offline
Ah, op die manier. Nee, arrays van ints (en dat soort dingen) kunnen alleen integer waarden hebben. De 'NULL' in C is gewoon een macro voor 0, en ook in C++ zou 'null' toewijzen gewoon resulteren in een 0 in de array.
Met citaat reageren
Oud 29-07-2003, 11:58
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
NULL == 0 het woord NULL is in bepaalde headers gewoon gedefineerd als 0. En omdat je gewoon int i= 0 kan doen, kan je ook int i=NULL. Of zit ik er nu helemaal naast
Met citaat reageren
Oud 29-07-2003, 12:21
deathz0rz
deathz0rz is offline
Citaat:
Dr HenDre schreef op 29-07-2003 @ 12:58:
NULL == 0 het woord NULL is in bepaalde headers gewoon gedefineerd als 0. En omdat je gewoon int i= 0 kan doen, kan je ook int i=NULL. Of zit ik er nu helemaal naast
volgens mij is NULL de ASCII character 0. of zit ik er nu helemaal naast?
__________________
Ooit. Dan.
Met citaat reageren
Oud 29-07-2003, 12:23
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
deathz0rz schreef op 29-07-2003 @ 13:21:
volgens mij is NULL de ASCII character 0. of zit ik er nu helemaal naast?
Nee, null is null, de compilerimplementatie staat daar los van. In het geval van C(++) wordt daar wel meestal de integer waarde 0 voor gebruikt, maar daar mag je niet van uitgaan.
Met citaat reageren
Oud 29-07-2003, 13:54
McMotion
Avatar van McMotion
McMotion is offline
Citaat:
Chimera schreef op 29-07-2003 @ 13:23:
Nee, null is null, de compilerimplementatie staat daar los van. In het geval van C(++) wordt daar wel meestal de integer waarde 0 voor gebruikt, maar daar mag je niet van uitgaan.
daar kan je toch rustig vanuit gaan? zou raar zijn als een cast van een null naar een bool true zou opleveren.. of als een null pointer naar een geldig stuk geheugen wijst
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 29-07-2003, 14:27
Verwijderd
Citaat:
McMotion schreef op 29-07-2003 @ 14:54:
daar kan je toch rustig vanuit gaan? zou raar zijn als een cast van een null naar een bool true zou opleveren.. of als een null pointer naar een geldig stuk geheugen wijst
Inderdaad, daarom mag je er ook niet van uit gaan dat een NULL een 0 (integer) is.

Je mag er niet vanuit gaan dat een NULL pointer naar een geldig stuk geheugen wijst.
Je mag er niet vanuit gaan dat NULL een true (boolean) is.
Je mag er niet vanuit gaan dat NULL een 0 (integer) is.
etc...
Met citaat reageren
Oud 29-07-2003, 15:06
McMotion
Avatar van McMotion
McMotion is offline
Citaat:
eddie schreef op 29-07-2003 @ 15:27:
Je mag er niet vanuit gaan dat een NULL pointer naar een geldig stuk geheugen wijst.
Je mag er niet vanuit gaan dat NULL een true (boolean) is.
Je mag er niet vanuit gaan dat NULL een 0 (integer) is.
etc...
je tiept het nu andersom.. wat ik bedoel... je mag er vanuit gaan dat bool(NULL) false teruggeeft en je mag er vanuit gaan dat *NULL per definitie ongeldig is dus dat een NULL pointer naar geheugenadres 0 wijst
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan
Met citaat reageren
Oud 29-07-2003, 15:56
Verwijderd
Citaat:
McMotion schreef op 29-07-2003 @ 16:06:
je tiept het nu andersom.. wat ik bedoel... je mag er vanuit gaan dat bool(NULL) false teruggeeft
Nu zeg jij het verkeerd
Een NULL-waarde is niks, onbekend, niet gedefinieerd.
NULL is alles en NULL is niets.

je mag er niet vanuit gaan dat bool(NULL) false teruggeeft

Citaat:
McMotion schreef op 29-07-2003 @ 16:06:
je
en je mag er vanuit gaan dat *NULL per definitie ongeldig is
Sterker nog, je moet (imho) er van uitgaan de *NULL ongeldig is. Je mag er niet mee rekenen/geen rekening mee houden.

Citaat:
McMotion schreef op 29-07-2003 @ 16:06:

dus dat een NULL pointer naar geheugenadres 0 wijst
En dit is (imho) de verkeerde opvatting. een NULL pointer kan overal naartoe wijzen (1, 18, 6553, etc); hij is onbekend.
Over het algemeen zal deze inderdaad naar 0 wijzen, maar dit is niet 'per definitie'
Met citaat reageren
Oud 29-07-2003, 17:01
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
McMotion schreef op 29-07-2003 @ 16:06:
je tiept het nu andersom.. wat ik bedoel... je mag er vanuit gaan dat bool(NULL) false teruggeeft en je mag er vanuit gaan dat *NULL per definitie ongeldig is dus dat een NULL pointer naar geheugenadres 0 wijst
Nee, dat mag niet

Iemand kan een compiler/platform bedenken waarbij NULL naar geheugenadres -1 of 2^32 wijst, alles kan, aangezien dat juist een aspect is wat niet gedefinieerd is.
Met citaat reageren
Oud 29-07-2003, 22:48
McMotion
Avatar van McMotion
McMotion is offline
dus om te testen of een pointer ergens naar wijst bijvoorbeeld in een linked list schrijven jullie allebei if (pNextNode != null) in plaats van if (pNextNode)??

ik heb weinig code gezien waar ze dat zo doen in ieder geval dus ik ben zeker niet de enige die dat doet... maargoed ik begrijp het nu ook wel van die abstractie alleen ik zie een null pointer altijd gewoon als een pointer zonder waarde, en niet als een pointer met een onbekende waarde (zoals in SQL) dus test ik er ook op
__________________
[AvatarDraw(c) v1.0 is uit de lucht (en per ongeluk van mijn hardeschijf verdwenen tijdens het weggooien ervan

Laatst gewijzigd op 29-07-2003 om 22:50.
Met citaat reageren
Oud 30-07-2003, 09:09
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
McMotion schreef op 29-07-2003 @ 23:48:
dus om te testen of een pointer ergens naar wijst bijvoorbeeld in een linked list schrijven jullie allebei if (pNextNode != null) in plaats van if (pNextNode)??
Ja, die manier is gewoon fout.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Software & Hardware [JAVA] Waarom krijg ik NullPointerException?
Rob
3 05-12-2006 15:13
Software & Hardware [C++] Gebruik van functies...
Kawoutertje
42 08-11-2004 21:42
Software & Hardware [c++] InternetFindNextFile()
Dr HenDre
17 12-01-2004 22:04
Software & Hardware CPP hulp nodig
-- Niodem --
46 30-07-2003 15:42
Software & Hardware [Data transfer logger] Kent iemand ene?
dd666
18 13-03-2003 16:41


Alle tijden zijn GMT +1. Het is nu 15:08.