realloc, descripcion y ejemplo

Dependencies:   mbed

Committer:
sherckuith
Date:
Tue Apr 03 21:03:00 2012 +0000
Revision:
0:d75064e521e3
realloc, descripcion y ejemplo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sherckuith 0:d75064e521e3 1 #include "mbed.h"
sherckuith 0:d75064e521e3 2 /* realloc example: rememb-o-matic */
sherckuith 0:d75064e521e3 3 #include <stdio.h>
sherckuith 0:d75064e521e3 4 #include <stdlib.h>
sherckuith 0:d75064e521e3 5
sherckuith 0:d75064e521e3 6 int main ()
sherckuith 0:d75064e521e3 7 {
sherckuith 0:d75064e521e3 8 int input,n;
sherckuith 0:d75064e521e3 9 int count=0;
sherckuith 0:d75064e521e3 10 int * numbers = NULL;
sherckuith 0:d75064e521e3 11 int * more_numbers;
sherckuith 0:d75064e521e3 12
sherckuith 0:d75064e521e3 13 do {
sherckuith 0:d75064e521e3 14 printf ("Enter an integer value (0 to end): ");
sherckuith 0:d75064e521e3 15 scanf ("%d", &input);
sherckuith 0:d75064e521e3 16 count++;
sherckuith 0:d75064e521e3 17
sherckuith 0:d75064e521e3 18 more_numbers = (int*) realloc (numbers, count * sizeof(int));
sherckuith 0:d75064e521e3 19
sherckuith 0:d75064e521e3 20 if (more_numbers!=NULL) {
sherckuith 0:d75064e521e3 21 numbers=more_numbers;
sherckuith 0:d75064e521e3 22 numbers[count-1]=input;
sherckuith 0:d75064e521e3 23 }
sherckuith 0:d75064e521e3 24 else {
sherckuith 0:d75064e521e3 25 free (numbers);
sherckuith 0:d75064e521e3 26 puts ("Error (re)allocating memory");
sherckuith 0:d75064e521e3 27 exit (1);
sherckuith 0:d75064e521e3 28 }
sherckuith 0:d75064e521e3 29 } while (input!=0);
sherckuith 0:d75064e521e3 30
sherckuith 0:d75064e521e3 31 printf ("Numbers entered: ");
sherckuith 0:d75064e521e3 32 for (n=0;n<count;n++) printf ("%d ",numbers[n]);
sherckuith 0:d75064e521e3 33 free (numbers);
sherckuith 0:d75064e521e3 34
sherckuith 0:d75064e521e3 35 return 0;
sherckuith 0:d75064e521e3 36 }