stdlib.h is the header of the general purpose standard library of C programming language which includes functions involving memory allocation, process control, conversions and others. It is compatible with C++ and is known as cstdlib in C++. The name “stdlib” stands for “standard library”.
string.h is the header in the C standard library for the C programming language which contains macro definitions, constants, and declarations of functions and types used not only for string handling but also various memory handling functions; the name is thus something of a misnomer.
Functions declared in string.h are extremely popular, since as a part of the C standard library, they are guaranteed to work on any platform which supports C. However, some security issues exist with these functions, such as buffer overflows, leading programmers to prefer safer, possibly less portable variants. Also, the string functions only work with ASCII or character sets that extend ASCII in a compatible manner such as ISO-8859-1; multibyte ASCII-compatible character sets such as UTF-8 will work with the caveat that string “length” is to be interpreted as the count of bytes in the string (rather than the count of Unicode characters) and that searches for individual characters only work effectively for ASCII characters. Non-ASCII compatible string handling is generally achieved through wchar.h.
math.h is a header file in the standard library of the C programming language designed for basic mathematical operations. Most of the functions involve the use of floating point numbers. C++ also implements these functions for compatibility reasons and declares them in the header cmath (the C99 functions are not available in the current C++ standard, C++ 98).
All functions that take or return an angle work in radians.
All these functions take doubles for floating-point arguments, unless otherwise specified. In C99, to work with floats or long doubles, append an f or an l to the name, respectively.
Mathematical library functions that operate on integers, such as abs, labs, div, and ldiv, are instead specified in the stdlib.h header.