A pointer in C is nothing but a variable that stores the address of a memory location. Unlike regular variables which store a value, pointers store the address of these variables in the memory. We can access the value pointed to by a pointer using the * notation.
What are the major problems with pointers?
Two common problems associated with pointers are undefined behaviour and garbage values. Undefined behavior occurs when two pointers are pointing to the same memory location and we free one of the pointers. Garbage values in the memory are those which cannot be accessed. It is the result of memory leaks.
What are C++ pointers good for?
C++ pointers are used to pass arguments by reference, allocate memory to new objects in the heap, access array elements, return multiple values, implement complex data structures and to do system level programming where memory addresses are beneficial. C++ pointers are also used as iterators to iterate data structures as set, multiset, map, etc.
How to pass a pointer in CPP?
To pass pointers as arguments in CPP functions, we need to do two things. First declare the parameter in the method name as a pointer(using the * notation) and secondly pass the variable prefixed with the & operator. In case of static arrays, simply pass the array identifier as the argument.