realloc_2.c |
| #include <stdio.h> #include <stdlib.h> #include "mylib.h" static void array_print(int *a, int n){ int i; for(i=0; i<n; i++){ printf("%d\n", a[i]); } } int main(){ int size = 2; int length = 0; int item; int *buffer_array; int *my_array = emalloc(size * sizeof my_array[0]); while(1 == scanf("%d", &item)){ if(length == size){ size += size; my_array = erealloc(my_array, size * sizeof my_array[0]); } my_array[length++] = item; } buffer_array = emalloc(length * sizeof my_array[0]); merge_sort(buffer_array, my_array, length-1); array_print(my_array, length); free(buffer_array); free(my_array); return EXIT_SUCCESS; } |
James Little |