Zeigerarithmetik



  • const int N = 5;
    int a[N+1]; 
    int key = 3; 
    int i;
    a[N] = key;
    int *p = a;
    while(*p++ != key);
    i = p–a–1; // Zeigerarithmetik
    

    In diesem Codestück soll "key" gesucht werden. Meine Frage was passiert in der letzten Zeile? Könnte mir das jemand kurz erläutern?

    Mfg



  • An der Stelle zeigt a auf den Beginn des Arrays, p auf die Arrayposition hinter der, in der key gefunden wurde.
    Durch die Rechnung wird der Arrayindex von key errechnet und in i gespeichert.


Log in to reply