#include <stdio.h>
#include <stdlib.h>


int main()
{
  int n=0,max=10,z,i,*zahlen=NULL;

/*Wir reservieren Speicher für 10 int Werte mit calloc*/
  if((zahlen=(int *)calloc(max, sizeof(int)))==NULL)
    {
      fprintf(stderr,".....Speichplatzmangel!!!!!\n");
      exit(0);
    }
  printf("Zahlen eingeben --- Beenden mit 0\n");

  while(1)
    {
      printf("Zahl (%d) eingeben : ",n+1);
      scanf("%d",&z);
      if(z==0)
           break;

/*Reservierung während der Laufzeit des Programms mit realloc*/
       if(n>=max)
        {
          max+=max;
          if((zahlen=(int *)realloc(zahlen,max * sizeof(int))) ==NULL)
           {
             fprintf(stderr,".......Speicherplatzmangel!!!\n");
             exit(1);
           }
         printf("Speicherplatz reserviert (%d Bytes)\n",sizeof(int)*max);
        }

      zahlen[n++]=z;
     }

  printf("Folgende Zahlen wurden eingegeben ->\n\n");
  for(i=0;i<n;i++)
       printf("%d ",zahlen[i]);

  free(zahlen);
  return 0;
}
