Reallocate memory block: how to use realloc : Memory Allocation « Memory « C / ANSI-C






Reallocate memory block: how to use realloc


#include <stdio.h>
#include <stdlib.h>

int main ()
{
  int input, n;
  int count=0;
  int *numbers = NULL;

  do {
     printf ("Enter an integer value ( enter 0 to stop): ");
     scanf ("%d", &input);
     count++;
     numbers = (int*) realloc (numbers, count * sizeof(int));
     if (numbers == NULL) { 
         puts ("Error (re)allocating memory"); 
         exit ( 1 ); 
     }
     numbers[ count - 1 ] = input;
  } while (input!=0);

  printf ("Numbers entered: ");
  
  for ( n = 0; n < count; n++) 
      printf ("%d ",numbers[ n ]);
      
  free (numbers);

  return 0;
}


           
       








Related examples in the same category

1.Find out the address after mallocFind out the address after malloc
2.Allocate memory
3.Store string in allocated memory
4.Allocate memory and reallocateAllocate memory and reallocate
5.Allocate space for a string dynamically, request user input, and then print the string backwardsAllocate space for a string dynamically, request user
   input, and then print the string backwards
6. Allocate memory block: how to use malloc Allocate memory block: how to use malloc
7. Allocate array in memory: how to use calloc Allocate array in memory: how to use calloc
8.Use malloc to allocate memory
9.Get the current system free memory