History
SVr1, 4.3BSD.
System V (1983) introduced an initial set of mem* functions in a <memory.h> header file. 4.3BSD (1986) adopted them.
SVID Issue 1 (1985) standardized this header file, but stated that the functions would be moved to <string.h>.
XPG Issue 3 (1989) listed <memory.h> as WITHDRAWN, and stated that the functions had been moved to <string.h>.
C89 didn't standardize this header file and instead specified all these functions in <string.h>.
This merge of header files has historically confused programmers about the real purpose of these functions.
Most C libraries, including the BSDs, glibc, musl, Bionic, and Illumos continue to provide <memory.h>.
gnulib doesn't provide it, though, and instead uses <string.h>.
From man-pages 6.19-1 in Arch Linux 2026-11-01.
Parsed by carta from the page's man source.