string.h 库函数中对内存处理的函数(以mem开头的)
tring.h是C语言中C标准库的头文件,其中包含了宏定义、常量以及函数和类型的声明,涉及的内容除了字符串处理之外,还包括大量的内存处理函数;
此库函数中,常量和类型有:
函数有:
- void *memcpy(void *dest, const void *src, size_t n);
作用:将n字节长的内容从一个内存地址复制到另一个地址;如果两个地址存在重叠,则最终行为未定义。
注意:memcpy()第一个参数不要使用 char *p的指针,用一个char p[20]的数组,不然会出现段错误。 - void *memmove(void *dest, const void *src, size_t n);
作用:将n字节长的内容从一个内存地址复制到另一个地址;与memcpy
不同的是它可以正确作用于两个存在重叠的地址。 - void *memchr(const void *s, char c, size_t n);
作用:在从s开始的n个字节内查找c第一次出现的地址并返回,若未找到则返回NULL。
注意:返回的是指针。 - int memcmp(const void *s1, const void *s2, size_t n);
作用:对从两个内存地址开始的n个字符进行比较。相同返回0, 大于返回1, 小于返回-1。 - void *memset(void *, int, size_t);
作用:用某种字节内容覆写一段内存空间。
注意:memset是对字节单位赋值,如果说是整型数组,不要使用。对字符数组初始化或者清零可以。