2016-11-01 3 views
1

Verwenden Sie keine anderen Objekte außer den bereits deklarierten, wie kann Sie ändern, dass ptrptr auf einen Zeiger auf b zeigt, ohne direkt berühren ptr?Ändern eines Zeigers, der auf einen anderen Zeiger zeigt

int a,b; 
int *ptr; 
int**ptrptr; 

ptr =&a; 
ptrptr=&ptr; 
+0

Was hat das mit [tag: array], [tag: vektor] oder [tag: resize] zu tun? Bitte reduzieren Sie Ihre Tags auf diejenigen, die das Problem beschreiben, das Sie haben. –

+0

ops .. sry Kumpel, ich war im Begriff, etwas zu fragen, aber ich habe es auf eigene Faust, also habe ich es gelöscht und vergessen, die Tage zu entfernen .. thnx –

Antwort

2

Sie dürfen nicht direkt ptr berühren. So ist ptr = &b; keine Option.

Aber dies verhindert nicht, es indirekt zu ändern. So wäre *ptrptr=&b; der Weg zu gehen.

+1

Das ist nicht wirklich ändern (ändern) 'ptrptr'. Es verändert '* ptrptr', so dass es auf 'b' zeigt (d.h. die Adresse von 'b' enthält), was etwas anders als die gestellte Frage ist. – Peter

+0

Ich denke, es ist die genaue Antwort auf diese Frage. Wie man mit Zeigern zum Zeiger arbeitet? – am2

+0

Ich habe die Frage aus einem Buch namens Datenstruktur und Problemlösung von Mark Allen .. ändert nicht die Adresse in der Regel den zugewiesenen Wert? –

Verwandte Themen