devxlogo

Zero as a Universal Initializer

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
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