pointer, dynamic memory allocation, struct, union, tree similarity