Struct with abstract type member in c
Your code is valid. However note that

sizeof(list_int.element)


and

sizeof(list_chat.element)


return the size of a pointer, but it is not the de size of the type of elements into array. So, for instance, you need to write

sizeof(*list_int.element)