zoukankan      html  css  js  c++  java
  • 字符串处理函数库中的内存处理函数

    memcpy

    函数原型
    void *memcpy(void *s1, const void *s2, size_t n);
    函数说明:将s2所指向的对象中的n个字符复制到s1所指对象中。返回指向结果对象的指针。

    memmove

    函数原型
    void *memmove(void *s1, const void *s2, size_t n);
    函数说明:从s2所指向的对象中复制n个字符到s1所指向的对象中。复制过程就好比是s2所指向的对象中的n个字符先被复制到一个临时数组中,然后再从这个临时数组复制到s1所指向的对象中。返回指向结果对象的指针。

    memcmp

    函数原型
    int *memcmp(const void *s1, const void *s2, size_t n);
    函数说明:比较s1所指对象和s2所指对象中的前n个字符。如果s1等于、小于或大于s2,则返回0、小于0或大于0的值。

    memchr

    函数原型
    void *memchr(const void *s, int c, size_t n);
    函数说明:在s所指向的对象的前n个字符中,确定c(被转换成无符号字符)首次出现的位置。若找到了c,则函数返回指向对象中c的指针,否则返回NULL。

    memset

    函数原型
    void *memset(void *s, int c, size_t n);
    函数说明:将c(被转换成无符号字符)复制到s所指向的对象的前n个字符中。返回指向结果对象的指针。

    这些函数的指针形参统统被声明为void*类型,这样它们就可以用于操作任意数据类型的内存块。任何指针都可以直接赋值给类型为void*的指针变量,同时void*类型的指针也可以直接赋值给指向任意数据类型的指针变量。由于不能对void*类型的指针变量进行解引用,所以每个函数都要接收一个规模(size)实参来指定函数将要处理的字符数。

  • 相关阅读:
    Java之hashCode的作用和equals方法的重构规则
    Java-IO流之File操作和Properties操作
    Java-IO流之转换流的使用和编码与解码原理
    Java-IO 字节流的使用和效率比较
    Java-IO流之BufferedReader 和BufferedWriter的使用和原理
    二分查找
    leetcode530 二叉搜索树的最小绝对差
    leetcode94 二叉树的中序遍历
    leetcode17电话号码字母组合
    leetcode26 删除排序数组中的重复项
  • 原文地址:https://www.cnblogs.com/jie828/p/11187188.html
Copyright © 2011-2022 走看看