Article View: be.comp.programming
Article #6555Re: pointer probleempke
From: Nicolas Barbier
Date: Sat, 07 Dec 2002 17:21
Date: Sat, 07 Dec 2002 17:21
43 lines
2343 bytes
2343 bytes
dominova wrote:
> hallo allemaal,
> ik heb het een beetje moeilijk met pointers in c en c++
> Onderstaande code zou een pointer- via een functie wijzig_pointer- naar de
> globale variabele getal1 moeten laten wijzigen
Je probeer een argument te veranderen, maar aangezien C/C++ met
call-by-value werkt verander je eigenlijk een kopie.
Werkt wel:
void wijzig_pointer(int **pointer) // Pointer is nu een pointer naar een
// pointer naar een int
{
*pointer=&getal1; // Verander de pointer waarnaar pointer verwijst zodat
// hij het adres van getal1 bevat.
}
Aanroepen als:
int getal1;
int getal2;
int *blaat = &getal2; // blaat wijst naar getal2
wijzig_pointer(&blaat); // Hierna wijst blaat naar getal1
Je kan ook een reference gebruiken (werkt alleen in C++):
void wijzig_pointer(int *&pointer)
{
pointer=&getal;
}
Aanroepen als:
wijzig_pointer(blaat);
Maar persoonlijk vind ik deze manier verwarrend, aangezien je nu het
functievoorschrift moet kennen om te kunnen besluiten of blaat nu al dan
niet kan veranderd worden door de functie.
--
Nicolas Barbier
Technical Details
Message-ID:
<3df22e23$0$3395$afc38c87@sisyphus.news.be.easynet.net>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!64.152.100.70.MISMATCH!sjc70.webusenet.com!news.webusenet.com!news.tele.dk!news.tele.dk!small.news.tele.dk!syros.belnet.be!news.belnet.be!feed1.news.be.easynet.net!sisyphus.news.be.easynet.net!not-for-mailReferences:
<skmI9.39670$Ti2.6375@afrodite.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit 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 09:22:06 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!64.152.100.70.MISMATCH!sjc70.webusenet.com!news.webusenet.com!news.tele.dk!news.tele.dk!small.news.tele.dk!syros.belnet.be!news.belnet.be!feed1.news.be.easynet.net!sisyphus.news.be.easynet.net!not-for-mail Message-ID: <3df22e23$0$3395$afc38c87@sisyphus.news.be.easynet.net> From: Nicolas Barbier <anti@spam.invalid> Subject: Re: pointer probleempke Newsgroups: be.comp.programming,nl.comp.programmeren Followup-To: be.comp.programming Date: Sat, 07 Dec 2002 18:21:23 +0100 References: <skmI9.39670$Ti2.6375@afrodite.telenet-ops.be> User-Agent: KNode/0.6.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit Lines: 43 Organization: [ posted via Easynet Belgium ] NNTP-Posting-Host: 213.193.183.37 X-Trace: 1039281699 3395 213.193.183.37 X-Complaints-To: abuse@be.easynet.net