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.
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
Matrice, puntatore
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.
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;
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.
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.
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 delle matrici: tipo di dati nomearray [tipo di dati];
Sintassi del puntatore - tipo di dati * nome_tabella;
Sebbene gli array possano essere utilizzati per allocare memoria di dimensioni fisse (memoria statica), è possibile utilizzare i puntatori per l'allocazione dinamica della memoria.
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.
1. "Array in C." Www.tutorialspoint.com, Tutorials Point, disponibile qui.
2. "Puntatori in C." Www.tutorialspoint.com, Tutorials Point, disponibile qui.
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