- What are pointers? - A variable - value is an address to memory ***pointing*** to another variable or function - When to use pointers? - Want full control of hardware in critical applications - allocate/deallocate memory - Can access data outside scope of function - Efficient array operations - [[Dynamic Memory Allocation|Dynamic memory allocation]] on the heap - memory doesn't have variable name, only accessible via pointer - Enables [[Polymorphism | polymorphism]] for [[Object-Oriented Programming (OOP)| OOP]] - Accessing specific addresses in memory - useful in embedded applications - Can be used in - Assignment expressions - [[Pointer Arithmetic|Arithmetic expressions]] - Comparison expressions [[C++ Pointers]] [[Arrays and Pointers]]