Die C -und C + + Programmiersprachen sind zwei der wenigen , die noch stark auf indirekten Speicherzugriff. Dies ist das Konzept , dass ein Speicher Variable kann die Lage eines anderen Speichervariable halten - und diese Variable als Zeiger bekannt. Das klingt verwirrend , ist es ein mächtiges Werkzeug verwendet, um Arrays , verkettete Listen , Bäume und andere Datenstrukturen implementieren. Hier ist eine kurze Einführung in Zeiger und Arrays. Was Sie brauchen
C + +-Sprache wie Visual C + + Express, Visual Studio oder C + + Builder
anzeigen Weitere Anweisungen
1
Erstellen Sie eine neue C + + -Programm. Mit Visual Studio 2010 Windows-Konsolenanwendung Vorlage , wird der Code wie folgt beginnen :
# include " stdafx.h"
int _tmain (int argc , argv _TCHAR * [])
{
Geben Sie den Code in das restliche Programm, wie es in der Erzählung unten angezeigt.
2
erstellen und Drucken einer neuen Zeichenfolge Zeiger wie folgt .
< p> char * c = "Hallo ";
printf (" % s \\ n" , c);
das Sternchen (*) vor der Variablen c bedeutet, dass der Zeiger-Variable ist . Variable c enthält den Speicherort , wo der Text ' Hallo ' vom Compiler gespeichert wurde . Die printf -Funktion verwendet die Zeiger c diese Zeichenfolge suchen und zeigt es auf der Konsole .
3
Fügen Sie ein neues Array von ganzen Zahlen in den Speicher.
Int * n = new int [ 5];
Ein neuer Zeiger n erklärt zu einem Integer-Array Punkt ist . Die neue Funktion erstellt ein neues Array von fünf Zahlen und die Lage dieses Arrays wird im Zeiger p gespeichert.
4
Legen Sie das Array mit den Zahlen von 1 bis 5 mit einem zweiten Zeiger durch die bewegen . Array
int * p = n;
int I;
for ( i = 1; i < 6; i + +) {
* p = i;
p + +; }
der Zeiger p wird erklärt und auf den gleichen Wert wie n , der Anfang des Arrays. Da die Schleife wiederholt fünfmal, der Speicherstelle , auf die z erhält den Wert des Zählers ausgeführt, dann wird der Zeiger inkrementiert wird, in die nächste Element des Arrays . Beachten Sie, dass die p + + -Anweisung erhöht Zeiger p von der Größe der Zahl , Umzug in jeder Zelle des Arrays.
5
die Werte im Array Anzeige auf der Konsole über einen Index in das Array .
for (i = 0; i < 5 ; i + +) {
printf (" % d \\ n", n [i]) ; }
< p> Auch hier springt das Programm fünf mal, jedes Mal mit der printf Funktion , um den Inhalt der Speicherplätze durch n hingewiesen [i ], um die Konsole zu senden. Dieses Mal das Programm verwendet die Index-Schreibweise zusammen mit dem Zeiger auf das Array zu verschieben. In C + + , Arrays nullbasiert sind , so dass die Zähler bewegt sich von 0 bis 4
6
Beenden Sie das Programm löschen
n; . .
Return 0;
}
entfernen Sie das Array aus dem Speicher mit der Löschfunktion . In C + +, einem Speicher durch neue Mittel müssen gelöscht werden, um Speicherlecks zu verhindern. Schließlich 0 zurück , um anzuzeigen, dass das Programm erfolgreich abgeschlossen.