【C语言】【面试题】【笔试题】模拟实现数据库中memmove函数

原创 2016年05月30日 15:03:05
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

void *my_memmove(void *p1, const void *p2, size_t count)
{
    assert(p1);
    assert(p2);
    char *dest = (char*)p1;
    char *src = (char*)p2;
    dest = dest + 16;
    src = src + 8;
    if ((src <= dest) && (dest <= (src + count)))
    {
        while (count--)
        {
            *(dest + count) = *(src + count);
        }
    }
    else
    {
        while (count--)
        {
            *dest++ = *src++;
        }
    }
    return p1;
}

int main()
{
    int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    size_t count =16;
    int *ret=my_memmove(arr, arr, count);
    int i = 0;
    for (i = 0; i < 10; i++)
    {
        printf("%d ", *(ret+i));
    }
    system("pause");
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言实现谷歌面试题:写一个函数返回参数二进制中 1 的个数

写一个函数返回参数二进制中 1 的个数 比如: 15       0000 1111       4 个 1 方法一:参数为整形参数,首先需要将整形参数转换为二进制序列,需要对这个参数进行模2除2。参...

2016 C语言面试题——字符串函数的实现

C语言各类字符串函数的实现开学就要开始找工作了,我觉得这些函数被问到的几率还是很大的,所以在这里与大家分享strlen函数原型:#include unsigned int strlen (char ...

C语言 string及memcpy,memmove函数的模拟实现

模拟实现部分字符串操作函数及内存拷贝函数

C语言笔试题(9)——strcpy函数与strlen函数

1、关于strcpy的找错题: void test1(void) {   char string[10];   char* str1 = "0123456789";   strcpy( st...

字符排序(美团网笔试题)C语言实现

#include #include void sort(char str[],int len) { int i,j; int temp; for (i=0;ii;j--) ...
  • ru_li
  • ru_li
  • 2014-09-11 22:01
  • 441

腾讯实习笔试题--简单计算器程序的c语言实现

/*本程序是一个简单的计算器模拟程序。对任意给定的正确的四则表达式,程序计算其结果值并输出。表达式中运算分量为无 正负号整数,运算符为+ - * / ,圆括号按常规配对,表达式以“=”结束。函数get...

【面试题】剑指offer11--求一个数的指数次方,模拟实现一个pow函数

【面试题】剑指offer11--求一个数的指数次方,模拟实现一个pow

华为面试题:一元多项式的化简 C语言实现源码

编程实现如下功能:对输入的一元多项式,进行同类项合并,并按指数降序排序,输出处理后的一元多项式。 说明: 1.多项式由若干个单项式组成,单项式之间为加、减(+,-)关系。 2.单项式指数字与字...

剑指offer面试题:二维数组中的查找,C语言实现

我是从九度OJ上面看到这个

程序员面试题--堆排序的C语言实现

面试了很多的公司,根据同学的面试经验和自己的面试经验,现在整理出关于堆排序的实现代码。 //以下是针对堆进行调整 void HeapAjust(int data[],int i,int leng...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)