Introduction
Pointers let you work with the exact place where data is stored. This helps you change data directly and use memory smartly.
When you want to change a variable inside a function and keep the change outside.
When you want to save memory by not copying large data structures.
When you want to share data between parts of your program safely.
When you need to work with linked data like linked lists or trees.
When you want to check if a variable has a value or is empty (nil).