Zeiger auf Array



  • HI,

    bin ein Nooooob und kenn mich leider no net so aus, daher eine rel. simple Frage mal zum Einstieg (gerne auch Links, aber Suche nach "Pointer" und "Zeiger" gaben keinen Erfolg):

    Ich hab ein Array

    int a[3] = {....}
    

    und will jetzt auf diesen Array pointen um genauer zu sein, auf die Spitze. Krieg ich das nur mit

    int *p = &a[0]
    

    hin oder gibt es etwas wie

    int* p[3] = &a
    

    oder so ähnlich?

    Thx, Euer
    Dude



  • der_dude schrieb:

    und will jetzt auf diesen Array pointen um genauer zu sein, auf die Spitze. Krieg ich das nur mit

    int *p = &a[0];
    

    entweder so oder

    int *p = a;
    


  • der_dude schrieb:

    HI,

    bin ein Nooooob und kenn mich leider no net so aus, daher eine rel. simple Frage mal zum Einstieg (gerne auch Links, aber Suche nach "Pointer" und "Zeiger" gaben keinen Erfolg):

    Lies meinen Artikel dazu. Den gibt's im Artikel-Forum.

    Die Suche hier ist etwas kaputt, du musst immer ein * vor und hinter dein Suchwort stellen: *Pointer*.

    Um auf die Spitze eines Array zu zeigen, hast du folgende Möglichkeiten:

    int x[3] = {0,1,2};
    int *p = &x[0];
    int *p2 = x;  //zeigt auch auf das erste Element
    

    Willst du ein beliebiges Element adressieren, brauchst du natürlich die erste Schreibweise (oder du iterierst durch, was aber normal unnötig ist).

    MfG

    GPC



  • GPC schrieb:

    Willst du ein beliebiges Element adressieren, brauchst du natürlich die erste Schreibweise

    nicht unbedingt:

    int *p = a+3; // zeigt auf viertes element
    


  • Problem solved. Danke euch! Geiles Forum, gefällt mir! 😃



  • net schrieb:

    GPC schrieb:

    Willst du ein beliebiges Element adressieren, brauchst du natürlich die erste Schreibweise

    nicht unbedingt:

    int *p = a+3; // zeigt auf viertes element
    

    ehm, ja okay, Pointerarithmetik geht natürlich auch.

    MfG

    GPC


Anmelden zum Antworten