设为首页 加入收藏

TOP

面试:实现内存复制函数(一)
2012-11-28 12:58:58 来源: 作者: 【 】 浏览:793
Tags:面试 实现 内存 复制 函数

    面试中面试官经常会让写程序,根据题目的难度会在算法和编程(www.cppentry.com)习惯上各有侧重.比如写一个memcpy函数,这个题算法简单明确,因此重点考察编程(www.cppentry.com)习惯、工程思想.

    该题目的算法如下

    0.1

    [cpp]

    void  memcpy(void *dst, void *src, int count)

    {

    while(count--)

    {

    *dst = *src;

    dst++;

    src++;

    }

    }

    问题是void*不能直接累加 *dst = *src也是不对的.

    0.2

    [cpp]

    void memcpy(void *dst, void *src, int count)

    {

    unsigned char *pdst = (unsigned char *)dst;

    unsigned char *psrc = (unsigned char *)src;

    while(count--)

    {

    *pdst = *psrc;

    pdst++;

    psrc++;

    }

    }

    在32位系统中,可复制的最多内存是多少 类型会不会不够用

    内存复制不应该修改原始内存吧.

    因此,函数声明修改如下

    0.3

    [cpp]

    void memcpy(void *dst, const void *src, size_t count)

    这样就万事大吉了吗

    如果传入了空指针呢

    接着修改吧

   

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇hdu 4430 Yukari's.. 下一篇C++激活外部文件或程序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: