Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include <iostream> using namespace std; // Hauptprogramm // int main () { // Variablen // int Punkte = 500; float fGeschwindigkeit = 20.5f; int *pPunkte = NULL; // Zeiger auf Punkte float *pfGeschwindigkeit = NULL; // Zeiger auf Geschwindigkeit // Zeiger initialisieren pPunkte = &Punkte; pfGeschwindigkeit = &fGeschwindigkeit; // Adresse von Punkte ausgeben cout << "Die Adresse der Variable \"Punkte\" "; cout << " lautet: " << pPunkte << endl; // Adresse fGeschwindigkeit ausgeben cout << "Die Adresse der Variable \"fGeschwindigkeit\" "; cout << " lautet: " << pfGeschwindigkeit << endl; return 0; } |
Administrator
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
int Zahl; //irgendeine Zahl int* pZahl; // ein Zeiger auf einen Integer Wert //Nun haben wir eine Zahl und einen Zeiger auf eine Zahl. //Der Zeiger pZahl verweist aber noch nicht auf die Variabel Zahl!!! Sondern irgendwohin!! //Mit dem & - Operator kannst du die Adresse einer Variabel ausgeben. //Somit können wir einen Zeiger auf Zahl durch pZahl erzeugen. pZahl = &Zahl; // Der Zeiger auf eine Variabel wird mit der Adresse von Zahl gefüllt. //*pZahl (also der Zeiger) verweisst auf Zahl, kann also direkt angesprochen werden. *pZahl = 10; //Wir könne hier mit *pZahl direkt auf Zahl zugreifen und den Wert, wie wir es kennen verändern. |
Administrator
Zitat von »"drakon"«
*pPunkte ist ein Zeiger auf eine Variabel (z.B einen Integer - Wert).
Zitat von »"drakon"«
Wichtig ist also zu verstehen, dass:
*pZahl der Zeiger auf die Variabel ist und:
Zitat von »"drakon"«
pZahl lediglich einen Hexadezimalen Wert enhält, welcher der Adresse entspricht, auf welches der Zeiger zeigt.
C-/C++-Quelltext |
|
1 2 3 4 5 |
int Zahl = 5; // eine Variable vom Typ int (logisch) int *pZahl = NULL; // Hier definiere ich einen Zeiger (ist das DER Zeiger?) pZahl = &Zahl; // Hier speichere ich die Adresse in den Zeiger ab (??? ich denke *pZahl ist der Zeiger) |
C-/C++-Quelltext |
|
1 |
int Zahl = 5; |
Zitat von »"David Scherfgen"«
Nein, *pPunkte ist das, worauf der Zeiger zeigt.
Administrator
Zitat von »"dev_null"«
*pZeiger // Zeiger auf eine Variable
Zitat von »"dev_null"«
*pZeiger = NULL;
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
int *pInt = 0; // das * signalisiert HIER lediglich, das man einen Zeiger erstellen will(ungeschikt ausgedrückt) int Int = 42; // das ist eine ganz normale variable... pInt = ∬ // Das & signalisiert hier, dass dem Zeiger nicht der Wert der variablen int zugewiesen werden soll, sondern ihre Adresse. // Wenn man jetzt die adresse ausgeben will, macht man das wie folgt: cout << ∬ // Gibt die Adresse des von Int aus cout << Int; // Gibt den Wert von Int aus cout << pInt; // Gibt die zieladresse(also die adresse auf die der Zeiger zeigt/die er gespeichert hat) aus cout << *pInt; // Gibt den Wert der Variablen aus, auf die der Zeiger zeigt. cout << &pInt; // Gibt die Adresse des Zeigers aus. Das ist nicht die Zieladresse des Zeigers!!! |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
int Variable = 100; // X-beliebige Variable int *Zeiger = NULL; // Der Zeiger wird deklariert und initiailisiert, eshandelt sich um einen NULL-Zeiger da er mit NULL initialisiert wurde Zeiger = &Variable; // Die Adresse der Variablen wird im Zeiger gespeichert *Zeiger++; // Damit veränderst du den Wert der Variablen cout << "Adresse der Variablen:" << Zeiger << endl; // Hier gibts du die Adresse der Variablen aus, weil kein * verwendet wurde |
Zitat von »"David Scherfgen"«
Zitat von »"drakon"«
*pPunkte ist ein Zeiger auf eine Variabel (z.B einen Integer - Wert).
Nein, *pPunkte ist das, worauf der Zeiger zeigt.
Zitat von »"drakon"«
Wichtig ist also zu verstehen, dass:
*pZahl der Zeiger auf die Variabel ist und:
s.o.
Zitat von »"drakon"«
pZahl lediglich einen Hexadezimalen Wert enhält, welcher der Adresse entspricht, auf welches der Zeiger zeigt.
Hexadezimal?! Wie kommst du darauf? Der Zeiger ist einfach nur ein (32-Bit-)Wert und wird wie alle Zahlen im Computer binär gespeichert, also mit Einsen und Nullen.
Werbeanzeige