> asterisk is inexplicably used both to declare a pointer and a COMPLETELY different operation of dereferencing a pointer.
This is the most confusing concept of pointers. I feel this could have been easily avoided with different character like ~ or ^ or other.