- unstable 6.19-1
| memory.h(3head) | memory.h(3head) |
NAME¶
memory.h - memory operations
LIBRARY¶
Standard C library (libc, -lc)
SYNOPSIS¶
#include <memory.h>
DESCRIPTION¶
Write¶
Copy¶
Catenate¶
Duplicate¶
Compare¶
Search¶
VERSIONS¶
In some systems (Illumos), <memory.h> contains only a few of these functions, and thus <string.h> is needed.
STANDARDS¶
BSD.
These functions are also provided in <string.h>, as specified by ISO C. This is a historic mistake maintained for compatibility reasons; these functions aren't string APIs.
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>.
SEE ALSO¶
| 2026-08-10 | Linux man-pages 6.19 |