-
memmove:
-
功能:与
memcpy
类似,但能够正确处理源内存块和目标内存块重叠的情况。当源内存和目标内存重叠时,memcpy
的行为是未定义的,而memmove
会确保数据正确复制。 -
原型:
void *memmove(void *dest, const void *src, size_t n);
-
参数:
dest
是目标内存块的指针,src
是源内存块的指针,n
是要复制的字节数。 -
返回值:返回目标内存块的指针。
-
-
memset:
-
功能:用于将内存块的前n个字节设置为指定的值。这个函数通常用于初始化内存块或清除内存块。
-
原型:
void *memset(void *s, int c, size_t n);
-
参数:
s
是指向要设置的内存块的指针,c
是要设置的值(虽然参数是int类型,但通常只使用低8位),n
是要设置的字节数。 -
返回值:返回指向内存块的指针。
-
-
memcmp:
-
功能:用于比较两个内存块的前n个字节。这个函数不会修改内存块的内容,只是比较它们是否相等。
-
原型:
int memcmp(const void *s1, const void *s2, size_t n);
-
参数:
s1
和s2
是指向要比较的内存块的指针,n
是要比较的字节数。 -
返回值:如果
s1
和s2
的前n个字节相等,则返回0;如果s1
小于s2
,则返回负值;如果s1
大于s2
,则返回正值。
-
-
memcpy:
-
功能:用于从源内存地址复制 n 个字节到目标内存地址。这个函数不会检查源内存和目标内存是否重叠,也不会在复制过程中停止于遇到的空字符(如字符串结束符 '\0')。它仅仅按照指定的字节数进行复制。
-
原型:
void *memcpy(void *dest, const void *src, size_t n)
-
参数:
dest
:指向用于存储复制内容的目标内存块的指针,src
:指向要复制的内存块的指针,n
:指定要复制的字节数。 -
返回值:返回指向内存块的指针(dest)。
-
C语言中用于处理内存操作的函数
于 2024-09-04 15:30:26 首次发布