c datastructure lib