<math.h> 中的函数相对应的宏函数,但这些宏函数可以接受其他非浮点类型作为参数。<math.h> 中每个至少接受一个 double 作为参数的函数(modf 除外),都在 <tgmath.h> 中被定义为一个具有相同语义但接受泛型参数的宏。double;浮点类型的参数则不经转换直接使用(即直接作为 float、double 或 long double)。<math.h> 和 <complex.h>:如果函数存在于 <complex.h> 中(以 "c" 字符为前缀),则类型泛型函数也可以接受复数值。