Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: All
Nov 19, 1998

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.
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date