Come aggiungere o rimuovere Pointer Array

March 15

I ++ linguaggi di programmazione C e C sono due dei pochi che ancora fanno molto affidamento su accesso alla memoria indiretta. Questo è il concetto che una variabile di memoria può contenere la posizione di un'altra variabile memoria - e questa variabile è noto come un puntatore. Anche se questo suona confusione, si tratta di un potente strumento utilizzato per implementare gli array, liste collegate, alberi e altre strutture di dati. Ecco una breve introduzione ai puntatori e array.

istruzione

1 Creare un nuovo programma in C ++. Utilizzando Visual Studio 2010 modello di applicazione console di Windows, il codice inizia in questo modo:

includere "stdafx.h"

int _tmain (int argc, _TCHAR * argv [])

{

Inserisci il codice rimanente nel programma come appare in tutta la narrazione di seguito.

2 Creare e stampare un nuovo puntatore stringa di caratteri come segue.

char *c = "Hello";

printf ( "% s \ n", c);

L'asterisco (*) prima della variabile c indica che questa è una variabile puntatore. Variabile C contiene la posizione di memoria in cui la stringa di testo 'Ciao' è stato memorizzato dal compilatore. La funzione printf utilizza il puntatore C per individuare questa stringa e visualizzarlo sulla console.

3 Aggiungere un nuovo array di interi in memoria.

int * n = new int [5];

Un nuovo puntatore n è dichiarata per puntare a un array di interi. La nuova funzione crea un nuovo array di cinque interi e la posizione di questo array è memorizzato nel puntatore p.

4 Caricare la matrice con i numeri da 1 a 5 con un secondo puntatore per muoversi attraverso la matrice.

int * p = n;

INT;

for (i = 1; i <6; i ++)

{* P = i;

p ++;

}

Il puntatore p è dichiarato e impostato sullo stesso valore di n, l'inizio della matrice. Poiché il ciclo si ripete cinque volte, la locazione di memoria puntata da p riceve il valore del contatore, il puntatore viene incrementato, passare al successivo elemento dell'array. Si noti che l'istruzione p ++ incrementa p puntatore dalla dimensione del numero intero, spostando a ciascuna cella della matrice.

5 Visualizzare i valori nella matrice alla console utilizzando un indice nella matrice.

for (i = 0; i <5; i ++)

{Printf ( "% d \ n", n [i]);

}

Anche in questo caso, il programma di loop cinque volte, ogni volta si utilizza la funzione printf per inviare il contenuto delle locazioni di memoria a punta da n [i] per la console. Questa volta il programma utilizza la notazione indice insieme al puntatore di muoversi attraverso l'array. In C ++, gli array sono a base zero, in modo che il contatore si sposta da 0 a 4.

6 Terminare il programma.

eliminare n;

return 0;

}

Rimuovere la matrice dalla memoria utilizzando la funzione di cancellazione. In C ++, qualsiasi memoria allocata da nuova deve essere cancellata per evitare perdite di memoria. Infine, restituisce 0 per indicare che il programma completato con successo.

Consigli e avvertenze

  • Il tema di puntatori può prendere tempo per capire.