Il C e C + + linguaggi di programmazione 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 , è un potente strumento utilizzato per implementare gli array , liste , alberi e altre strutture di dati . Ecco una breve introduzione ai puntatori e array . Cose che ti serviranno
linguaggio C + + , ad esempio Visual C + + Express , Visual Studio o C + + Builder
Mostra Altre istruzioni
1
Creare un nuovo programma in C + + . Utilizzando 2010 modello di applicazione Visual Studio console di Windows , il codice inizia così:
# include " stdafx.h"
int _tmain ( int argc , _TCHAR * argv [ ] ) per
{
Inserisci il codice rimanente nel programma come appare in tutta la narrativa di seguito .
2
Creare e stampare un nuovo puntatore stringa di caratteri come segue .
< p > char * c = " Ciao " ;
printf ( "% s \\ n" , c ) ;
l'asterisco ( * ) prima della variabile c indica che si tratta di una variabile puntatore . Variabile c contiene la locazione 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
Aggiungi un nuovo array di interi in memoria.
Int * n = new int [5 ] ;
un nuovo puntatore n è dichiarato di puntare a un array di interi . La nuova funzione crea un nuovo array di cinque numeri interi e la posizione di questo array è memorizzato nel puntatore p .
4
Caricare l'array con i numeri da 1 a 5 utilizzando un secondo puntatore per muoversi attraverso il . matrice
int * p = n ;
int i;
for (i = 1; i < 6; i + + ) per
{ * p = i;
p + + ; }
il puntatore p viene dichiarato e impostato lo stesso valore di n , l'inizio della matrice . Come il ciclo si ripete cinque volte , la locazione di memoria puntata da p riceve il valore del contatore , allora il puntatore viene incrementato , spostando all'elemento successivo dell'array . Notare che il p + + incrementa dichiarazione puntatore p dalla dimensione del numero intero , spostando a ciascuna cella della matrice .
5
Visualizzare i valori nella matrice nella console utilizzando un indice nella matrice.
for (i = 0; i < 5; i + + ) per
{ printf ( "% d \\ n" , n [ i] ) ; }
< p > Anche in questo caso , il programma esegue cinque volte, ogni volta con la funzione printf per inviare il contenuto di locazioni di memoria puntato da n [ i] alla console. Questa volta il programma usa 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 0-4
6
Fine del programma
delete n , . .
Return 0;
}
Rimuovere la matrice dalla memoria usando la funzione di eliminazione . In C + + , la memoria allocata da nuovo deve essere eliminato per evitare perdite di memoria . Infine , ritorna 0 per indicare che il programma ha completato con successo .