HUGE_VALF, HUGE_VAL, HUGE_VALL
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header  <math.h> | ||
| #define HUGE_VALF /*implementation defined*/ | (since C99) | |
| #define HUGE_VAL  /*implementation defined*/ | ||
| #define HUGE_VALL /*implementation defined*/ | (since C99) | |
The HUGE_VALF, HUGE_VAL and HUGE_VALL macros expand to positive floating point constant expressions which compare equal to the values returned by floating-point functions and operators in case of overflow (see math_errhandling).
| Constant | Explanation | 
| HUGE_VALF | Expands to positive float expression that indicates overflow | 
| HUGE_VAL | Expands to positive double expression that indicates overflow, not necessarily representable as a float | 
| HUGE_VALL | Expands to positive long double expression that indicates overflow, not necessarily representable as a float or double | 
On implementations that support floating-point infinities, these macros always expand to the positive infinities of float, double, and long double, respectively.
Example
Run this code
Possible output:
1.0/0.0 = inf 1.0/0.0 == HUGE_VAL
- C11 standard (ISO/IEC 9899:2011):
- 7.12/3 HUGE_VAL, HUGE_VALF, HUGE_VALL (p: 231)
 
- F.10/2 HUGE_VAL, HUGE_VALF, HUGE_VALL (p: 517)
 
- C99 standard (ISO/IEC 9899:1999):
- 7.12/3 HUGE_VAL, HUGE_VALF, HUGE_VALL (p: 212)
 
- F.9/2 HUGE_VAL, HUGE_VALF, HUGE_VALL (p: 454)
 
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.5 HUGE_VAL
 
See also
| (C99) | evaluates to positive infinity or the value guaranteed to overflow a float (macro constant) | 
| C++ documentation for HUGE_VAL | |