I\'ve seen some code, as well as some errors generated from my compiler that have a \'**
\' token before the variable (eg **variablename unreferenced-- or someth
One common use is that it allows a function to set the pointer to null.
So free(pointer) frees up the memory allocated to pointer but leaves the pointer dangerously pointing at the free memory.
Instead declare a my_free(**pointer) and call my_free(&pointer) so my_free() can set the pointer to null after freeing it.