Introduction


Since C doesn’t have templates like C++, void* is typically used in data structures since it can point to any type of data. For example, a node in a red-black tree might be something like:



typedef struct rb_node rb_node_t;
struct rb_node {
rb_node_t *child[2]; // 0 = left; 1 =...