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 Arrays num 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.


Log in to reply