Zero as a Universal Initializer

The literal 0 is an int. However, it can be used as a universal initializer for every data type, since it is automatically cast to the appropriate type. In this respect, 0 is a special case because the compiler examines its context to determine its type. For example:

   void *p = 0;   // when 0 is used to initialize a pointer, the compiler treats it as if it were NULL.  float salary = 0;   // 0 is cast to a float  char name[10] = {0};   // 0 cast to a ''  void (*pf)(int) = 0;   // pointer to a function
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: