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 mountainous region of the State of Maine stretches from near the White Mountains, northeasterly one hundred and sixty miles, to the head of the Aroostook River, and is about sixty miles wide. The wild or unsettled portion is far more extensive. So that some hours only of travel in this direction will carry the curious to the verge of a primitive forest, more interesting, perhaps, on all accounts, than they would reach by going a thousand miles westward.
    Henry David Thoreau (1817–1862)