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:

    A township where one primitive forest waves above while another primitive forest rots below,—such a town is fitted to raise not only corn and potatoes, but poets and philosophers for the coming ages. In such a soil grew Homer and Confucius and the rest, and out of such a wilderness comes the Reformer eating locusts and wild honey.
    Henry David Thoreau (1817–1862)