C (programmeertaal): verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Thijs!bot (overleg | bijdragen)
k robot Erbij: af
Jvervloet (overleg | bijdragen)
Regel 22:
=== Pointers ===
 
C geeft directe toegang tot het geheugen met behulp van pointers, dit is een variabele die naar een geheugenadres wijst waar een andere variabele is opgeslagen. Dit kan weer een pointer zijn. Het gebruik hiervan heeft vele voordelen, men kan bijvoorbeeld een pointer doorgeven aan een functie, zodat deze de variabele waarnaar de pointer wijst, direct kan wijzigen. Dit is voordelig qua geheugengebruik, want er hoeft geen kopie van de variabele gemaakt te worden en er hoeven geen globale variabelen gedefinieerd te worden door de programmeur. Er zijn echter ook valkuilen: als men een pointer voortijdig wijzigt, d.w.z. voordat de geheugenplaats is vrijgegeven, kan het programma niet langer de geheugenplaats waarnaar de pointer wees, aanspreken. Staat zo een constructie in een lus, bijvoorbeeld een ''while-loop'', dan kan dat een zogenaamd [[geheugenlek]] opleveren.
 
Men kan gewoon getallen optellen bij pointers, deze waren immers gewoon geheugenadressen: