De grootste verschil tussen array en pointer is dat een array is een gegevensstructuur die een verzameling elementen van hetzelfde gegevenstype opslaat, terwijl een aanwijzer een variabele is die het adres van een andere variabele in het computergeheugen vasthoudt.
Matrix en aanwijzer zijn twee concepten die worden gebruikt in programmeertalen zoals C en C ++. Een array is een verzameling gegevens met een vast aantal waarden van hetzelfde gegevenstype. Als u bijvoorbeeld de tekens van 10 studenten wilt opslaan, kan de programmeur een array maken die 10 gehele getallen kan opslaan. Aan de andere kant is een aanwijzer een variabele die het adres van een andere variabele bevat. Aanwijzers helpen om toegang te krijgen tot het geheugen en om geheugenadressen te manipuleren.
1. Wat is een array
- Definitie, functionaliteit
2. Wat is een aanwijzer
- Definitie, functionaliteit
3. Relatie tussen matrix en aanwijzer
- Overzicht van vereniging
3. Verschil tussen array en aanwijzer
- Vergelijking van belangrijke verschillen
Matrix, aanwijzer
Een array is een gegevensstructuur waarin een vast aantal elementen van hetzelfde type wordt opgeslagen. Alle elementen van de array bevinden zich op aangrenzende geheugenlocaties.
Figuur 1: Array
Stel dat u waarden van 50 gehele getallen moet opslaan. Het is mogelijk om variabelen voor elk geheel getal te maken, maar het is moeilijk en tijdrovender. Een array kan worden gebruikt om dit probleem te verhelpen.
int-nummers [50];
De bovenstaande instructie wijst een array toe met de naam nummers, die vijftig gehele getallen kunnen opslaan. Een specifiek element van de array kan worden beoordeeld met behulp van de index. De startindex is 0. Omdat er 50 elementen in de array zijn, heeft het laatste element de index 49.
nummers [1] = 30;
De bovenstaande instructie wijst waarde 30 toe aan de 1st index van de nummerreeks.
Bovendien is het mogelijk om arrays van andere gegevenstypen te maken.
Bijvoorbeeld het dubbele gemiddelde [10]; maakt een array met de naam gemiddeld. Het kan 10 dubbele waarden opslaan.
Een array is eenvoudiger te maken en gemakkelijker toegang te krijgen tot elementen. Aan de andere kant heeft een array een vaste grootte. Als de array-grootte 10 is, kan deze niet worden gebruikt om 20 elementen op te slaan. Met andere woorden, de geheugentoewijzing voor een array is statisch.
Een variabele is een geheugenlocatie om een waarde op te slaan. Elke geheugenlocatie heeft een adres om het te identificeren.
Figuur 2: Aanwijzer
Een pointer is een variabele die het adres van een andere variabele opslaat. De aanwijzer wordt gedeclareerd voordat een variabel adres wordt opgeslagen. Het sterretje * wordt gebruikt om een wijzer te declareren.
int * ptr;
De ptr is een verwijzing naar een integer-variabele.
dubbel * ptr1;
De ptr1 is een verwijzing naar een dubbele variabele. Raadpleeg de volgende code.
Figuur 3: Programmeer met pointers
De variabele 'a' bevat de waarde 20. De ptr is een verwijzing naar een geheel getal. In regel 8 wordt ptr toegewezen met het adres van variabele a. Nu wijst ptr naar een. Daarom geeft het afdrukken van de waarde die wordt aangewezen door ptr de waarde van a.
Als er geen adres is dat moet worden toegewezen, kan de aanwijzer worden toegewezen met een NULL-waarde. Dit type aanwijzer wordt de lege aanwijzer genoemd.
int * ptr = NULL;
Raadpleeg het onderstaande programma.
Figuur 4: Arrays met pointers
Er is een array genaamd arr. Het bevat 5 gehele getallen. De ptr is een verwijzing naar een geheel getal. In regel 8 wordt arr toegewezen aan ptr. Daarom wijst de ptr naar het 0de indexelement van de array. Als u de waarde van ptr afdrukt, wordt de waarde 0 weergegeventh indexelement. Het is 10.
Array is een gegevensstructuur die bestaat uit een verzameling elementen die elk worden geïdentificeerd door de array-index. Een pointer is een programmeertaalobject dat het geheugenadres opslaat van een andere waarde in het computergeheugen.
Hoewel een array verwijst naar een set gegevenselementen, is een aanwijzer een variabele die naar een andere geheugenlocatie verwijst.
Array-syntaxis - gegevenstype arrayName [gegevenstype];
Pointer-syntaxis - gegevenstype * variabele naam;
Hoewel arrays kunnen worden gebruikt voor het toewijzen van geheugen met vaste grootte (statisch geheugen), kunnen aanwijzers worden gebruikt voor toewijzing van dynamisch geheugen.
De array met twee termen en de aanwijzer zijn twee programmeerconcepten. Het verschil tussen array en aanwijzer is dat een array een gegevensstructuur is die een verzameling elementen van hetzelfde gegevenstype opslaat, terwijl een aanwijzer een variabele is die het adres van een andere variabele in het computergeheugen vasthoudt.
1. "Arrays in C." Www.tutorialspoint.com, Tutorials Point, hier beschikbaar.
2. "Pointers in C." Www.tutorialspoint.com, Tutorials Point, hier beschikbaar.
1. "CPT-programming-array" door Pluke - Eigen werk (CC0) via Commons Wikimedia
2. "Pointers" door Dit bestand is gemaakt door Gebruiker: SvenTranslation Eigen werk (CC BY-SA 3.0) via Commons Wikimedia