Verschil tussen array en aanwijzer

Inhoudsopgave:

Anonim

De grootste verschil tussen array en pointer is dat an 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 bevat.

Array en pointer zijn twee concepten die worden gebruikt in programmeertalen zoals C en C ++. Een array is een verzameling gegevens die een vast aantal waarden van hetzelfde gegevenstype bevat. Om bijvoorbeeld de cijfers van 10 studenten op te slaan, kan de programmeur een array maken waarin 10 gehele getallen kunnen worden opgeslagen. Aan de andere kant is een pointer een variabele die het adres van een andere variabele bevat. Aanwijzers helpen om toegang te krijgen tot het geheugen en om geheugenadressen te manipuleren.

Matrix, aanwijzer

Wat is een array

Een array is een gegevensstructuur waarin een vast aantal elementen van hetzelfde type is opgeslagen. Alle elementen van de array bevinden zich op aangrenzende geheugenlocaties.

Afbeelding 1: Matrix

Stel dat u waarden van 50 gehele getallen moet opslaan. Het is mogelijk om variabelen te creëren voor elk geheel getal, maar het is moeilijk en tijdrovender. Een array kan worden gebruikt om dit probleem op te lossen.

int-nummers[50];

De bovenstaande instructie wijst een array toe met de naam getallen, waarin vijftig gehele getallen kunnen worden opgeslagen. Een specifiek element van de array kan worden beoordeeld met behulp van de index. De startindex is 0. Aangezien er 50 elementen in de array zijn, heeft het laatste element de index 49.

getallen [1] = 30;

De bovenstaande verklaring zal waarde 30 toewijzen aan de 1NS index van de getallenreeks.

Bijvoorbeeld het dubbele gemiddelde[10]; maakt een array met de naam gemiddelde. Het kan 10 dubbele waarden opslaan.

Een array is gemakkelijker te maken en gemakkelijker toegankelijke elementen. Aan de andere kant heeft een array een vaste grootte. Als de arraygrootte 10 is, kan deze niet worden gebruikt om 20 elementen op te slaan. Met andere woorden, de geheugentoewijzing voor een array is statisch.

Wat is een aanwijzer?

Een variabele is een geheugenlocatie om een ​​waarde op te slaan. Elke geheugenlocatie heeft een adres om het te identificeren.

Afbeelding 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. De asterisk * wordt gebruikt om een ​​pointer te declareren.

int *ptr;

De ptr is een pointer naar een integer-variabele.

dubbel *ptr1;

De ptr1 is een pointer naar een dubbele variabele. Raadpleeg de volgende code.

Afbeelding 3: Programma met aanwijzers

De variabele ‘a’ bevat de waarde 20. De ptr is een pointer naar een geheel getal. In regel 8 wordt ptr toegewezen met het adres van variabele a. Nu wijst ptr naar a. Daarom zal het afdrukken van de waarde die wordt aangegeven door ptr de waarde van a geven.

Als er geen adres kan worden toegewezen, kan de aanwijzer worden toegewezen met een NULL-waarde. Dit type aanwijzer wordt de nulaanwijzer genoemd.

int *ptr = NULL;

Relatie tussen array en aanwijzer

Raadpleeg het onderstaande programma.

Afbeelding 4: Arrays met aanwijzers

Er is een array genaamd arr. Het bevat 5 gehele getallen. De ptr is een pointer naar een geheel getal. In regel 8 wordt arr toegewezen aan ptr. Daarom wijst de ptr naar het 0-indexelement van de array. Als u de waarde van ptr afdrukt, wordt de waarde 0. weergegevene indexelement. Het is 10.

Verschil tussen array en aanwijzer

Definitie

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 van een andere waarde in het computergeheugen opslaat.

Basis

Terwijl een array verwijst naar een set gegevenselementen, is een aanwijzer een variabele die naar een andere geheugenlocatie verwijst.

Syntaxis

Matrixsyntaxis - gegevenstype arrayName [gegevenstype];

Aanwijzersyntaxis - gegevenstype * variabelenaam;

Gebruik

Hoewel arrays kunnen worden gebruikt om geheugen met een vaste grootte (statisch geheugen) toe te wijzen, kunnen pointers worden gebruikt voor dynamische geheugentoewijzing.

Conclusie

De twee termen array en pointer zijn twee programmeerconcepten. Het verschil tussen array en pointer 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 bevat.

Verwijzing:

1. "Arrays in C." Www.tutorialspoint.com, Tutorials Point, hier beschikbaar.2. "Aanwijzers in C." Www.tutorialspoint.com, Tutorials Point, hier beschikbaar.

Afbeelding met dank aan:

1. "CPT-programmering-array" door Pluke - Eigen werk (CC0) via Commons Wikimedia2. "Aanwijzingen" door Dit bestand is gemaakt door Gebruiker: SvenTranslation Eigen werk (CC BY-SA 3.0) via Commons Wikimedia

Verschil tussen array en aanwijzer