【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语言之memmove函数

【FROM MSDN && 百科】 原型:  void *memmove( void* dest, const void* src, size_tcount ); #include...
  • hgj125073
  • hgj125073
  • 2013年01月05日 16:24
  • 10496

C/C++笔试题(很多)

微软亚洲技术中心的面试题!!! 1.进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥...
  • weiyuefei
  • weiyuefei
  • 2016年08月29日 11:47
  • 14212

一道经典面试题,atoi函数的实现

参考: (1)atoi函数的实现 (2)《剑指offer》 本体
  • duqi_2009
  • duqi_2009
  • 2014年04月13日 11:19
  • 1576

C语言常见笔试题——strcpy函数的实现

转载地址:http://blog.csdn.net/gpengtao/article/details/7464061/ 大家一般认为名不见经传strcpy函数实现不是很难,流行的strcpy函数写法...
  • zjuxsl
  • zjuxsl
  • 2015年03月17日 10:11
  • 343

c语言内存管理函数,模拟memcpy、memmove(实现内存重叠拷贝)、memset

c语言内存管理函数,模拟memcpy、memmove(实现内存重叠拷贝)、memset
  • bin_ge_love
  • bin_ge_love
  • 2016年06月04日 00:11
  • 351

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

模拟实现部分字符串操作函数及内存拷贝函数
  • wei_cheng18
  • wei_cheng18
  • 2017年07月07日 21:52
  • 132

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

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

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

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

用C语言编写一个函数返回参数二进制中 1 的个数(3种方法)(谷歌笔试题)

比如: 15       0000 1111       4 个 1 程序原型: int  count_one_bits(unsigned int value) {        // 返回 ...
  • baidu_39630193
  • baidu_39630193
  • 2017年07月29日 18:00
  • 177

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

1、关于strcpy的找错题: void test1(void) {   char string[10];   char* str1 = "0123456789";   strcpy( st...
  • yanghaoran321
  • yanghaoran321
  • 2012年03月27日 22:55
  • 835
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【C语言】【面试题】【笔试题】模拟实现数据库中memmove函数
举报原因:
原因补充:

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