string.h 库函数中对内存处理的函数(以mem开头的)

tring.hC语言C标准库头文件,其中包含了定义、常量以及函数和类型的声明,涉及的内容除了字符串处理之外,还包括大量的内存处理函数;

此库函数中,常量和类型有:

  • NULL:表示空指针, 类型是 void *.  ps: EOF = -1,  '\0' = 0.
  • size_t:无符号整型,被用于sizeof运算符的返回值类型。

函数有:

  • 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是对字节单位赋值,如果说是整型数组,不要使用。对字符数组初始化或者清零可以。 

posted on 2012-03-31 13:28  leohxj  阅读(1044)  评论(0编辑  收藏  举报

导航