Pointer (computer Programming) - Wild Pointers

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:

    The colicky baby who becomes calm, the quiet infant who throws temper tantrums at two, the wild child at four who becomes serious and studious at six all seem to surprise their parents. It is difficult to let go of one’s image of a child, say goodbye to the child a parent knows, and get accustomed to this slightly new child inhabiting the known child’s body.
    Ellen Galinsky (20th century)