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

int main (void)
{
        int *a, *b;	//Инициализиуем два указателя на int
        int i;

        srand (time (NULL));	//Семя от текущего времени для рандома
        a = calloc (10, sizeof (int));	//Выделяем область памяти для a и заполняем ее нулями
        //Можно также использовать malloc (sizeof (int) * 10), но массив будет забит оставшимися ранее данными

        printf ("a:\n");
        for (i = 0; i < 10; i++) {
                a[i] = (rand () % 20) - 10;	//Заполеняем
                printf ("%d ", a[i]);
        }

        putchar ('\n');
        b = realloc (a, sizeof (int) * 15);	//Копируем область a и расширяем ее и возвращаем указатель на эту область
		free (a);	//Освобождаем a
        for (i = 10; i < 15; i++)
                b[i] = (rand () % 20) - 10;

        printf ("b:\n");
        for (i = 0; i < 15; i++) {
                printf ("%d ", b[i]);
        }

        putchar ('\n');
		
		free (b);
        return 0;
}