Article View: be.comp.programming
Article #6556Re: pointer probleempke
From: Martin
Date: Sat, 07 Dec 2002 18:10
Date: Sat, 07 Dec 2002 18:10
67 lines
3135 bytes
3135 bytes
JeroenV schreef ons:
> dominova wrote at za, 07 dec 2002 13:03:20 GMT:
>
> <knip>
>> wijzig_pointer(pointer);
>>
> <knip>
>>
>> }
>> int wijzig_pointer(int *pointer)
>> {
>> pointer=&getal1;
>> //return *pointer;
>>
>> }
>
> Hier zit je fout. "pointer" in de functie is een lokale variabele in
> die functie, en bijgevolg een andere variabele als "pointer" in de
> main. Je kopi๏ฟฝert de waarde van de eerste variabele in de 2de, een
> call by value. In dit geval heb je een call by reference nodig, een
> pointer naar een pointer dus. Dit is moeilijk uit te leggen, daarom
> wat code, hopelijk begrijp je me dan. (BTW, de printf-instructie is
> eigenlijk C, maar ik weet niet juist hoe de cout-functie ineen zit.
> Het zou wel moeten compilen met een C++ compiler.)
>
> void wijzig_pointer (int **); // let op de 2 *
>
> int getal1 = 5;
>
> void main()
> {
> int getal2 = 10, *pointer1;
> pointer1 = &getal2;
>
> wijzig_pointer(&pointer1); // geef het adres van pointer1 mee
>
> // druk de inhoud van pointer1 af
> printf("de waarde van pointer is: %d",*pointer1);
>
> }
>
> void wijzig_pointer(int **pointer2)
> {
> /* de inhoud van pointer2 (die naar pointer 1 verwijst) wordt het
> adres van * getal1. Aangezien pointer2 het adres bevat van pointer1,
> zal pointer1 * gewijzigd worden.
> */
>
> *pointer2=&getal1;
> }
>
> Wat ook had gewerkt, is de pointer globaal declareren (boven de main
> dus). De functie had dan geen parameters nodig.
>
> Pointers zijn moeilijk, maar vooral de moed niet opgeven. Eenmaal je
> het door hebt, verleer je het niet meer.
Voor de rest complimenten voor je site
http://users.pandora.be/jvaes/
--
Vriendelijke groeten,
Martin Reedijk.
___________________________________________
AudioCD <> MP3 <> WMA <> MIDI <> WAV <> etc.
Check muziek>converteren @
www.WinampNederlands.nl
Technical Details
Message-ID:
<astdh4$3i9$1@nl-news.euro.net>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-06!sn-xit-09!supernews.com!news.maxwell.syr.edu!fr.clara.net!heighliner.fr.clara.net!news2.euro.net!nl-news.euro.net!not-for-mailReferences:
<skmI9.39670$Ti2.6375@afrodite.telenet-ops.be> <Xns92DDA11897E0Djeroenvpandorabe@195.130.132.65>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII X-Google-Thread: 107324,783c1464dae403ba X-Google-Attributes: gid107324,public X-Google-Thread: fcea4,783c1464dae403ba X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-12-07 10:10:06 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-06!sn-xit-09!supernews.com!news.maxwell.syr.edu!fr.clara.net!heighliner.fr.clara.net!news2.euro.net!nl-news.euro.net!not-for-mail From: "Martin" <Martin@www.WinampNederlands.nl> Newsgroups: be.comp.programming,nl.comp.programmeren Subject: Re: pointer probleempke Date: Sat, 7 Dec 2002 19:10:13 +0100 Organization: / / www.WinampNederlands / / Lines: 69 Message-ID: <astdh4$3i9$1@nl-news.euro.net> References: <skmI9.39670$Ti2.6375@afrodite.telenet-ops.be> <Xns92DDA11897E0Djeroenvpandorabe@195.130.132.65> NNTP-Posting-Host: ip9135909f.adsl-surfen.hetnet.nl X-Trace: nl-news.euro.net 1039284581 3657 145.53.144.159 (7 Dec 2002 18:09:41 GMT) X-Complaints-To: usenet@nl-news.euro.net NNTP-Posting-Date: Sat, 7 Dec 2002 18:09:41 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106