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.
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.