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

struct rib {
	int from;
};

int main(void) {
	int i =0;
	while (1==1) {
        struct rib *incidental = malloc(0);  // оголошуємо масив об'єктів структур (поки нуль)
 
        /* Get all incidental ribs to used vertices */
        // щось робимо ........
        // бачимо що нам треба додати в масив новий елемент => додаєм до вже виділеної 
        // пам'яті трохи місця на один елемент. Додаємо сам елемент.........
                    incidental = (struct rib*)realloc(incidental, sizeof(struct rib));
                    incidental[i].from = i+1;
 
        // Далі ще щось робимо. Але тут цикл дійшов до закінчення ітерації. Нам треба звільнити це все від мотлоху.
        free(incidental);
 
        // пішли на наступну ітерацію і отримали *** Error in `./main': free(): invalid next size (fast): 
        // Якщо без free, то матюкається в такому випадку на realloc
    }
	return 0;
}
