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:

    This wild night, gathering the washing as if it were flowers
    animal vines twisting over the line and
    slapping my face lightly, soundless merriment
    in the gesticulations of shirtsleeves ...
    Denise Levertov (b. 1923)