/* Pointerarithmetik */ #include int main(void){ /* Deklarationen */ int *ptr; int var, var2; /* Initialisieren: ptr enthält die Adresse von var. */ ptr = &var; /* Dereferenzierung : var bekommt den Wert 100 zugewiesen. */ *ptr = 100; /* var2 mit demselben Wert wie var initialisieren. */ var2 = *ptr; *ptr += 100; // Dereferenzierung: var wird um 100 erhöht. (*ptr)++; // Dereferenzierung: var hat jetzt den Wert 201. (*ptr)--; // var hat wieder den Wert 200. /* Ausgabe */ printf("Werte von var: %d\n", *ptr); // Gibt Wert von var aus. /* Wertzuweisung: ptr enthält die Adresse von var2. */ ptr = &var2; /* Ausgabe nach erneuter Wertzuweisung an ptr */ printf("Werte von var2: %d\n", *ptr); // Dereferenziert ptr und gibt Wert von var2 aus. printf("Adresse von ptr: %p\n", &ptr); // Gibt Adresse von ptr aus. printf("Wert von ptr (Adresse von var2): %p\n", ptr); // Gibt Wert von ptr (Adresse von var2) aus. return 0; }