typedef struct { matrix2d** data; int size; int capacity; } tdQueue; #define ERRALLOC do{ \ fputs("Ошибка выделения памяти\n", \ stderr); exit(EXIT_FAILURE); } while(0) tdQueue* queue_create(void); void queue_decontruct(tdQueue* queue); bool queue_is_empty(tdQueue* queue); int queue_size(tdQueue* queue); void queue_enqueue(tdQueue* queue, matrix2d* data); matrix2d* queue_dequeue(tdQueue* queue); matrix2d* queue_peek(tdQueue* queue); void queue_clear(tdQueue* queue);