Skillnad mellan Array och Pointer

De huvudskillnad mellan matris och pekare är det en array är en datastruktur som lagrar en samling av element av samma datatyp medan en pekare är en variabel som innehåller adressen till en annan variabel i datorns minne.

Array och pekare är två begrepp som används i programmeringsspråk som C och C ++. En matris är en samling data som innehåller ett fast antal värden av samma datatyp. Till exempel, för att lagra betyg på 10 studenter, kan programmeraren skapa en matris som kan lagra 10 heltal. Å andra sidan är en pekare en variabel som innehåller adressen till en annan variabel. Pekare hjälper till att komma åt minne och för att manipulera minnesadresser. 

Viktiga områden som omfattas

1. Vad är en Array
     - Definition, Funktionalitet
2. Vad är en pekare
    - Definition, Funktionalitet
3. Förhållandet mellan Array och Pointer
    - Föreningens sammanfattning
3. Skillnad mellan Array och Pointer
    - Jämförelse av viktiga skillnader

Nyckelbegrepp

Array, Pointer

Vad är en Array

En array är en datastruktur som lagrar ett fast antal element av samma typ. Alla element i arrayen finns i angränsande minnesplatser.

Figur 1: Array

Antag att du måste lagra värden på 50 heltal. Det är möjligt att skapa variabler för varje heltal men det är svårt och mer tidskrävande. En array kan användas för att lösa problemet.

int tal [50];

Ovanstående uttalande kommer att ange ett array som heter nummer, som kan lagra femti heltal. Ett specifikt element i matrisen kan bedömas med hjälp av indexet. Startindexet är 0. Eftersom det finns 50 element i matrisen har det sista elementet index 49.

siffror [1] = 30;

Ovanstående uttalande kommer att tilldela värdet 30 till 1st index för talmatrisen.

Dessutom är det möjligt att skapa skivor av andra datatyper.

Till exempel dubbelmedlet [10]; kommer att skapa en array som kallas genomsnittet. Det kan lagra 10 dubbelvärden.

En array är lättare att skapa och lättare att komma åt element. Å andra sidan har en matris en fast storlek. Om arraystorleken är 10, kan den inte användas för att lagra 20 element. Med andra ord är minnetilldelningen för en array statisk.  

Vad är en pekare

En variabel är en minnesplats för att lagra ett värde. Varje minnesplats har en adress för att identifiera den.

Figur 2: Pekare

En pekare är en variabel som lagrar adressen till en annan variabel. Pekaren deklareras innan du lagrar en variabel adress. Asterisken * används för att deklarera en pekare.

int * ptr;

Ptr är en pekare till en heltal variabel.

dubbel * ptr1;

Ptr1 är en pekare till en dubbelvariabel. Se följande kod.

Figur 3: Program med pekare

Variabeln 'a' innehåller värdet 20. Ptr är en pekare till ett heltal. I rad 8 tilldelas ptr adressen till variabel a. Nu ptr pekar på a. Därför kommer utskrift av värdet pt ptr att ge värdet av a.

Om det inte finns någon adress att tilldelas kan pekaren tilldelas ett NULL-värde. Denna typ av pekare kallas nollpekaren.

int * ptr = NULL;

Förhållandet mellan Array och Pointer

Se nedan programmet.

Figur 4: Arrays med pekare

Det finns en array som heter arr. Den innehåller 5 heltal. Ptren är en pekare till ett heltal. I linje 8 är ar tilldelad ptr. Därför pekar ptr till det 0: e indexelementet i matrisen. Om du trycker på värdet på ptr visas värdet 0th indexelement. Det är 10.

Skillnad mellan Array och Pointer

Definition

Array är en datastruktur som består av en samling av element som var och en identifierad av matrisindexet. En pekare är ett programmeringsspråkobjekt som lagrar minnesadressen till ett annat värde som finns i datorns minne.

Grund

Medan en array avser en uppsättning dataelement, är en pekare en variabel som pekar på någon annan minnesplats.

Syntax

Array syntax - datatyp arrayName [datatyp];

Pointer syntax - datatyp * variable_name;

Användande

Även om arrayer kan användas för att tilldela minnesstorlek (statiskt minne), kan pekare användas för dynamisk minnetilldelning.

Slutsats

De två terminerna array och pekaren är två programmeringskoncept. Skillnaden mellan array och pekare är att en matris är en datastruktur som lagrar en samling av element av samma datatyp medan en pekare är en variabel som innehåller adressen till en annan variabel i datorminnet.

Referens:

1. "Arrays in C." Www.tutorialspoint.com, Tutorials Point, Tillgänglig här.
2. "Pointers in C." Www.tutorialspoint.com, Tutorials Point, Tillgänglig här.

Image Courtesy:

1. "CPT-programmering-array" Av Pluke - Egent arbete (CC0) via Commons Wikimedia
2. "Pointers" Av Den här filen gjordes av User: SvenTranslation Own work (CC BY-SA 3.0) via Wikimedia Commons