Frage zu Pointer
-
Hallo wieso bekommt hier die variable num; den Wert 90 ?
Eigentlich weise ich den Wert 90 doch hier nur der p Variable zu.
#include <iostream> using namespace std; int main() { int num[4]; int * p; p = num; p[0] = 90; cout<<"num[0] = "<< num[0]<<endl; cout<< "p[0] = "<<p[0]<<endl; system("PAUSE"); return 0; } //---------------------------------------------------------------------------
-
Du deklarierst einen Zeiger
p
und lässt ihn auf den Anfang des Arraysnum
zeigen.p = num; // ist äquivalent zu: p = &num[0];
Mit
p[0]
dereferenzierst du den Zeiger und greifst somit auf das erste Element des Arrays zu. Da du dieser Speicherstelle 90 zuweist, steht im Array danach 90.
-
nein...
du hast nen feld von 4 integern (num)
dann erstellst du einen zeiger, der auf das erste(bzw. 0te) element von num zeigt.
p[0] ist das gleiche wie *(p+0) ist das gleiche wie *p
also der variable, auf die p zeigt, wird der wert 90 zugewiesen...vll solltest du auch noch mal im buch deiner wahl nachlesen^^
bb
-
Ich les hier gerade http://www.cplusplus.com/doc/tutorial/pointers/
Aber da hatte ich das irgendwie nicht richtig verstanden.
-
Huhu,
ich hätte dir gerne einen Link vom C++-Magazin über Pointers gegeben. Jedoch finde ich ihn komischerweise nicht mehr...
Naja, vielleicht hilft dir der: Pointers
-
sunny31 schrieb:
ich hätte dir gerne einen Link vom C++-Magazin über Pointers gegeben. Jedoch finde ich ihn komischerweise nicht mehr...
Nexus hatte vor kurzem schon im Forum-Technik gesagt, dass der Artikel verschwunden ist... Marcus wollte sich _eigtl_ drum kümmern(hatte noch nen backup) und davor nur noch schnell gucken, wieso der weg ist... das ist aber jz wahrscheinlich auch schon >2 Wochen her^^
bb
-
Huhu,
hab den Thread gefunden: C++-Magazin: Artikel spurlos verschwunden?
Laut Marcus´ letztem Post sollte der Artikel dieses Wochenende wieder erscheinen.
Fand ihn nämlich ziemlich gut.