#include <stdio.h>
#include <stdlib.h>
int main()
{
// Variablen deklarieren und initialisieren
int Zahl = 10; // Adresse von Zahl = 1250
char Zeichen = 'A'; // Adresse von Zeichen = 1480
short Liste[8] = {1, 2, 4, 8, 16, 32, 64, 128}; // Adresse von Liste = 2870
double Werte[2] = {0.00, 5.9}; // Adresse von Werte = 3890
// Pointervariablen deklarieren und initialisieren
int *pZahl = &Zahl; // Adresse von pZahl = 8000
char *pZeichen = &Zeichen; // Adressevon pZeichen = 8500
short *pListe = NULL; // Adresse von pListe = 9000
double *pWert = Werte; // Adresse von pWert = 9500
// Ausgaben 1
printf("%i, %i\n", Zahl, pZahl); // 10,1250
printf("%p, %c\n", &Zeichen, *pZeichen); // 1480, A
printf("%d, %d\n", *Liste, Liste[1 + 2] + Liste[0]); //1, 9
printf("%p, %lf\n", &(++pWert), Werte[1]); //9500, 5.9
// Veränderungen
Zahl = (*pZahl)++;
Zeichen++; // A -> B
pListe = &Liste[1]; // pliste = pointer von Liste[1] welcher 2872 ist da shorts 2 bit lang sind
pListe++; // pListe + 2 da short
*pWert = --Werte[0] + 5; //pWert -> 4.0
// Ausgaben 2
printf ("%i, %i\n", Zahl, *pZahl); //11,11
printf("%c, %p\n", Zeichen, pZeichen); //B, 1480
printf("%d, %d\n", *pListe, &Liste[3 + 2]); //2874, (pointer von Liste[5] == 2870 + 2bite * 5elemente) 2880
printf("%lf, %lf\n", Werte[0], Werte[1]); //-1, 4
system("pause");
return 0;
}