This is a C library that I developed a few years ago while I was learning data structures and algorithms. I did it to practise, and it was useful if I needed data structures for some small programs.
This library contains structures and functions for manipulating binary trees, linked lists, doubly linked lists, stack implemented with nodes and with an array, buffer and circular buffer with nodes and sequential circular buffer, and also sequential queue.
All the data info in nodes and arrays is kept with void* pointers, so you can keep any allocated structure or type in them, as long as you are careful with casting and memory management.
Note: If using more than one of these headers, you might have to change some function names because some functions in different headers have the same name.