java-like dynamic data structures for C