devxlogo

Always Initialize Pointers

Always Initialize Pointers

An uninitialized pointer has an indeterminate value. It’s almost impossible to test subsequently whether such a pointer is valid, especially if it is passed as an argument to a function, which in turn, can only verify that it is not NULL:

 void func(char *p );void main(){  char * p; //dangerous; an uninitialized pointer        //_many lines of code; p left uninitialized by mistake  if (p) //erroneously assuming that a non-NULL value indicates a valid address  {    func(p);   // func has no way of knowing whether p has a valid address; undefined behavior expected  }}

Even if your compiler does initialize pointers automatically, your code will be more readable and portable if you use explicit initializations.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist