Pointers
Used:
- To construct linked data structures
- To reference dynamically allocated data structures
- To implement call by reference
- To access data elements and iterate through them
- When passing arrays as arguments
- For referring to functions
- As an alias for another value
- To represent character strings
- For direct access to system memory