Wild Pointers
A wild pointer is a pointer that has not been initialized (that is, a wild pointer has not had any address assigned to it) and may make a program crash or behave oddly. In the Pascal or C programming languages, pointers that are not specifically initialized may point to unpredictable addresses in memory.
The following example code shows a wild pointer:
int func(void) { char *p1 = malloc(sizeof(char)); /* (undefined) value of some place on the heap */ char *p2; /* wild (uninitialized) pointer */ *p1 = 'a'; /* This is OK, assuming malloc has not returned NULL. */ *p2 = 'b'; /* This invokes undefined behavior */ }Here, p2
may point to anywhere in memory, so performing the assignment *p2 = 'b'
can corrupt an unknown area of memory or trigger a segmentation fault.
Read more about this topic: Pointer (computer Programming)
Famous quotes containing the word wild:
“Twenty years ago I wanted to move to a nice place so our Charley would grow up a nice boy and learn a profession. But instead we live in a jungle, so he can only be a wild animal. Dyou think I picked the East Side like Columbus picked America?”
—Abraham Polonsky (b. 1910)