Wild Pointer in C Programming

By | October 9, 2017

Let us learn about wild pointer in C programming and understand how it is implemented by an example, explanation and much more.

What Is A Wild Pointer?

A pointer which is not assigned to any memory location is known as a wild pointer. In other words, it does not point to any specific memory location.

If a pointer in uninitialized then it may get automatically assigned to a non-null garbage value which can be seen in the output below.

A wild pointer generates garbage memory value which is assigned to it and also a pendent reference value.

It is important to understand that there is a difference between wild pointer and null pointer. A null pointer points to the based address whereas a wild pointer does not point to any address.

When a pointer pointing to a memory address gets deleted or de-allocated, the memory is transformed into a garbage value. It indicates that a memory location exists but a pointer is deleted.

Possible Scenarios of Wild Pointers

There are different scenarios where a normal pointer can get transformed into a wild pointer which is enlisted below:

  • Accessing deleted data variables
  • Declaring a pointer but not initializing it
  • Modifying the pointers

Why Are Wild Pointers Good?

Everything has its own pros and cons. Similarly, wild pointers are also good as it helps us with the following things:

  • The wild pointers are used to hold transient objects. The transient objects are the ones with less lifetime.
  • The wild pointers serve as iterators and point to either a memory location before or after a set of objects.

Illustration of Wild Pointer in C Programming

Output

Understand Wild Pointer in C Programming with explanation, coding sample

How To Avoid Wild Pointer?

As you already know now that if a pointer is not initialized, it will be regarded as a wild pointer. To prevent a pointer from being a wild pointer, it is important to initialize a pointer as soon as it is declared.

 

You can initialize it to any particular value, either point it to a dummy variable of the same data type or you can also assign it a NULL value.

 

If you have any doubts about wild pointer in C programming, let us know about it in the comment section.

MORE ON POINTERS
Huge Pointers
Near Pointers
Far Pointers
Function Pointers
Null Pointers
Void Pointers
Dangling Pointers

Let's Discuss