#include <stdio.h>

main()                             /* Beziehung Zeiger - Felder */
{
    int i, *ip, f[5];

    i = 5;
    while(i--) 
        f[i] = i;
    i = 3; ip = &f[i];

    printf("f      : %d\n", f);       /* Adresse des Feldanfangs */
    printf("ip     : %d\n", ip); /* Adresse des 3. Feldelementes */
    printf("f+i    : %d\n", f+i);                        /* dto. */
    printf("f[i]   : %d\n", f[i]);  /* Wert des 3. Feldelementes */
    printf("*(ip+i): %d\n", *(ip+i));                    /* dto. */

    /* * und ++ haben gleichen Vorrang => 
            rechter Operator wird zuerst auf Operand angewendet  */

    i = *ip++;                         /* i = f[3]; ip++ (&f[4]) */
    printf("i = *ip++; i: %d, ip: %d, *ip: %d\n", i, ip, *ip);
    i = (*ip)--;                         /* i = f[4]; f[4] -= 1; */ 
    printf("i = (*ip)--; i: %d, ip: %d, *ip: %d\n", i, ip, *ip);
}
