[C] Pointer auf Pointer

sra

Erfahrenes Mitglied
Hallo

Ich bin gerade am Pointer lernen, und würde nun gerne wissen, ob ich mich da voll in eine Sackgasse bewege, oder ob ich in die richtige Richtung gehe. Es geht um Pointer, welche auf Pointer zeigen.

Code:
int zahl = 4, *zeiger, **zeiger2;           // deklaration des Zeigers auf den Zeiger 

zeiger = &zahl; 
zeiger2 = &zeiger; 

 **zeiger2 = 3;           // zahl ist nun 3 

printf("%i", *zeiger2);  // die Adresse, die der zeiger(1) 
                          // gespeichert hat (also die der zahl) 
                          // wird ausgegeben

Ist das so richtig, oder gehe ich hier von totalem Schwachsinn aus?

btw. Ich kann das atm leider nicht testen, da ich auf diesem PC kein Compiler habe (musste Geschäftslaptop nehmen, da mainboard vom pc kaputt :/)

Danke
 
Zuletzt bearbeitet:
Sieht alles OK aus. Hast du irgendwelche Probleme damit oder wolltest du nur wissen, ob von der Logik her alles passt?
 
Es ging mir vor allem um das

*zeiger2

da es ein Zeiger auf einen Zeiger ist, war ich mir nicht sicher ob ich das so machen kann (mit nur einem *).

Es geht mir darum das mal zu verstehen - wie gesagt, testen kann ich es atm nicht. Habe aber am Montag eine Prüfung darüber, und die Unterlagen sind ziemlich unbrauchbar :)

Dann werd ich mich mal an die Zeiger auf Funktionen wagen...

Danke
 
Naja mit *zeiger2 lässt du dir den Wert an der Adresse geben, auf die zeiger2 zeigt. zeiger2 zeigt nun auf zeiger, also wirst du den Wert von zeiger bekommen. Dieser Wert ist wiederum die Adresse von zahl. Ist also vollkommen richtig, was du da versucht hast.
 
Zurück