Integer vs Pointer
De termen integer en pointer worden in de meeste programmeertalen gebruikt. In computerprogrammeertalen wordt integer verwezen als elk gegevenstype dat een subset van wiskundige gehele getallen vertegenwoordigt, terwijl pointers worden gedefinieerd als een type waarvan de waarde verwijst naar of rechtstreeks verwijst naar een andere waarde die ergens anders in het computergeheugen is opgeslagen met behulp van het adres van de waarde.
Geheel getal
In computerprogrammeertalen is een geheel getal een gegevenstype dat een subset van wiskundige gehele getallen vertegenwoordigt. De waarde van datum die een integraal deel heeft, is het wiskundige gehele getal waarmee het overeenkomt. De waarde wordt op deze manier in het geheugen van de computer opgeslagen door de datum weer te geven. De integrale typen kunnen worden ondertekend of unsigned. Ondertekend betekent dat ze negatieve gehele getallen kunnen vertegenwoordigen en niet-ondertekende betekent dat ze niet-negatieve gehele getallen kunnen vertegenwoordigen.
Een reeks bits is de meest gebruikelijke manier om een positief geheel getal weer te geven. Dit wordt gedaan met behulp van het binaire cijfersysteem. Er is een variatie in de volgorde van bits. De precisie of breedte van een integer type vertegenwoordigt het aantal bits.
In het binaire getallenstelsel kunnen de negatieve getallen op drie manieren worden weergegeven. Dit kan worden gedaan door iemands complement, two's complement of tekengrootte. Er is echter een andere methode om gehele getallen weer te geven en deze wordt binair gecodeerd decimaal genoemd. Maar deze methode wordt tegenwoordig nog maar zelden gebruikt.
Verschillende integrale typen worden ondersteund door verschillende CPU's. Zowel ondertekende als niet-ondertekende typen worden ondersteund door verschillende hardware, maar er zijn enkele sets met een vaste breedte.
Aanwijzer
In computerprogrammeertaal wordt een aanwijzer gedefinieerd als het gegevenstype waarvan de waarde verwijst naar of rechtstreeks verwijst naar een andere waarde die ergens anders in het geheugen van de computer is opgeslagen. Pointers vinden plaats van registers voor algemene doeleinden in het geval van talen op hoog niveau, terwijl dit in taal op laag niveau, zoals machinecode of assembleertaal, in het beschikbare geheugen wordt gedaan. Een locatie in het geheugen wordt verwezen door de aanwijzer. Een pointer kan ook worden gedefinieerd als een minder afgetrokken of eenvoudige implementatie van een meer geabstraheerd gegevenstype. Aanwijzers worden ondersteund door verschillende programmeertalen, maar er zijn enkele beperkingen voor het gebruik van aanwijzers in sommige talen.
De prestaties kunnen aanzienlijk worden verbeterd in het geval van repetitieve bewerkingen zoals opzoektabellen, boomstructuren, strings en controletabellen. Bij procedurele programmering worden pointers ook gebruikt voor het bewaren van adressen van toegangspunten. Bij objectgeoriënteerd programmeren worden pointers echter gebruikt om methoden in functies te binden.
Hoewel pointers worden gebruikt om de verwijzingen aan te pakken, maar ze kunnen beter worden toegepast op gegevensstructuren. Er zijn bepaalde risico's verbonden aan pointers omdat ze zowel beveiligde als onbeschermde toegang tot geheugenadressen van de computer toestaan.