Differenza tra matrice e puntatore

Il differenza principale tra array e pointer è quello array è una struttura di dati che memorizza una raccolta di elementi dello stesso tipo di dati mentre un puntatore è una variabile che contiene l'indirizzo di un'altra variabile nella memoria del computer.

Array e pointer sono due concetti utilizzati nei linguaggi di programmazione come C e C ++. Una matrice è una raccolta di dati che contiene un numero fisso di valori dello stesso tipo di dati. Ad esempio, per memorizzare i voti di 10 studenti, il programmatore può creare un array che può memorizzare 10 numeri interi. D'altra parte, un puntatore è una variabile che contiene l'indirizzo di un'altra variabile. I puntatori aiutano ad accedere alla memoria e a manipolare gli indirizzi di memoria. 

Aree chiave coperte

1. Cos'è una matrice
     - Definizione, Funzionalità
2. Cos'è un puntatore
    - Definizione, Funzionalità
3. Relazione tra matrice e puntatore
    - Schema dell'associazione
3. Differenza tra matrice e puntatore
    - Confronto tra le principali differenze

Parole chiave

Matrice, puntatore

Cos'è una matrice

Una matrice è una struttura di dati che memorizza un numero fisso di elementi dello stesso tipo. Tutti gli elementi dell'array sono in posizioni di memoria contigue.

Figura 1: matrice

Supponiamo che sia necessario memorizzare valori di 50 numeri interi. È possibile creare variabili per ogni intero ma è difficile e richiede più tempo. Un array può essere utilizzato per superare questo problema.

numeri int [50];

La suddetta affermazione alloca un array chiamato numeri, che può memorizzare cinquanta numeri interi. Un elemento specifico dell'array può essere valutato usando l'indice. L'indice iniziale è 0. Poiché ci sono 50 elementi nella matrice, l'elemento finale ha l'indice 49.

numeri [1] = 30;

L'affermazione precedente assegnerà il valore 30 al 1st indice della matrice di numeri.

Inoltre, è possibile creare matrici di altri tipi di dati.

Ad esempio, la doppia media [10]; creerà una matrice chiamata media. Può memorizzare 10 valori doppi.

Un array è più facile da creare e più facile accedere agli elementi. D'altra parte, una matrice ha una dimensione fissa. Se la dimensione dell'array è 10, non può essere utilizzata per memorizzare 20 elementi. In altre parole, l'allocazione di memoria per un array è statica.  

Cos'è un puntatore

Una variabile è una posizione di memoria per memorizzare un valore. Ogni posizione di memoria ha un indirizzo per identificarlo.

Figura 2: puntatore

Un puntatore è una variabile che memorizza l'indirizzo di un'altra variabile. Il puntatore viene dichiarato prima di memorizzare un indirizzo variabile. L'asterisco * è usato per dichiarare un puntatore.

int * ptr;

Il ptr è un puntatore a una variabile intera.

doppio * ptr1;

Ptr1 è un puntatore a una doppia variabile. Fare riferimento al seguente codice.

Figura 3: programma con puntatori

La variabile 'a' contiene il valore 20. Il ptr è un puntatore a un numero intero. Alla riga 8, ptr è assegnato con l'indirizzo della variabile a. Ora ptr sta puntando a a. Pertanto, la stampa del valore indicato da ptr darà il valore di a.

Se non vi è alcun indirizzo da assegnare, il puntatore può essere assegnato con un valore NULL. Questo tipo di puntatore è chiamato puntatore nullo.

int * ptr = NULL;

Relazione tra matrice e puntatore

Fare riferimento al programma seguente.

Figura 4: matrici con puntatori

C'è un array chiamato arr. Contiene 5 numeri interi. Il ptr è un puntatore a un numero intero. Alla riga 8, arr è assegnato a ptr. Pertanto, il ptr sta puntando allo 0 ° indice dell'elemento dell'array. Stampando il valore di ptr verrà visualizzato il valore di 0esimo elemento indice. Sono le 10.

Differenza tra matrice e puntatore

Definizione

La matrice è una struttura di dati costituita da una raccolta di elementi identificati dall'indice dell'array. Un puntatore è un oggetto del linguaggio di programmazione che memorizza l'indirizzo di memoria di un altro valore situato nella memoria del computer.

Base

Mentre un array si riferisce a un insieme di elementi di dati, un puntatore è una variabile che punta ad un'altra posizione di memoria.

Sintassi

Sintassi delle matrici: tipo di dati nomearray [tipo di dati];

Sintassi del puntatore - tipo di dati * nome_tabella;

uso

Sebbene gli array possano essere utilizzati per allocare memoria di dimensioni fisse (memoria statica), è possibile utilizzare i puntatori per l'allocazione dinamica della memoria.

Conclusione

I due termini array e pointer sono due concetti di programmazione. La differenza tra array e pointer è che una matrice è una struttura di dati che memorizza una raccolta di elementi dello stesso tipo di dati mentre un puntatore è una variabile che contiene l'indirizzo di un'altra variabile nella memoria del computer.

Riferimento:

1. "Array in C." Www.tutorialspoint.com, Tutorials Point, disponibile qui.
2. "Puntatori in C." Www.tutorialspoint.com, Tutorials Point, disponibile qui.

Cortesia dell'immagine:

1. "CPT-programming-array" di Pluke - Opera propria (CC0) via Commons Wikimedia
2. "Puntatori" di Questo file è stato creato dall'utente: SvenTranslation Own work (CC BY-SA 3.0) via Commons Wikimedia