---
name: "memmove"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/memmove"
---

# memmove(3)

copy bytes in memory

## NAME

**memmove** – copy bytes in memory

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<string.h\>**

*void* *\**\

**memmove**(*void \*dst*, *const void \*src*, *size\_t len*);

## DESCRIPTION

The **memmove**() function copies *len* bytes from object *src* to object *dst*. The two objects may overlap; the copy is always done in a non-destructive manner.

## RETURN VALUES

The **memmove**() function returns the original value of *dst*.

## SEE ALSO

[bcopy(3)](/bcopy/3.md), [memccpy(3)](/memccpy/3.md), [memcpy(3)](/memcpy/3.md), [strcpy(3)](/strcpy/3.md), [wmemmove(3)](/wmemmove/3.md)

## STANDARDS

The **memmove**() function conforms to ISO/IEC 9899:1990 (“ISO C90”).
