'\" t .\" Copyright 1993, David Metcalfe .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .TH memset 3 2026-08-10 "Linux man-pages 6.19" .SH NAME memset \- memory set .SH LIBRARY Standard C library .RI ( libc ,\~ \-lc ) .SH SYNOPSIS .nf .BR #include\~ " // see memory.h(3head)" .P .BR "void *memset(" "size_t n;" .BI " void " a [ n "], int " c ", size_t " n ); .fi .SH DESCRIPTION The .BR memset () function fills the first .I n bytes of the memory area pointed to by .I a with the constant byte .IR c . .SH RETURN VALUE The .BR memset () function returns a pointer to the memory area .IR a . .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbx lb lb l l l. Interface Attribute Value T{ .na .nh .BR memset () T} Thread safety MT-Safe .TE .SH STANDARDS C11, POSIX.1-2008. .SH HISTORY POSIX.1-2001, C89, SVr4, 4.3BSD. .SH CAVEATS If the compiler deduces that the operation is unnecessary, it may totally or partially remove the call. To ensure the setting happens regardless of optimizations, use .BR memset_explicit (3). .SH SEE ALSO .BR memory.h (3head), .BR bzero (3), .BR swab (3), .BR wmemset (3)