memcpy函数使用原则及方法,案例,易错点,,自己制作memcpy

简介: memcpy函数使用原则及方法,案例,易错点,,自己制作memcpy
//内存函数
//memcpy---内存拷贝函数,不分类型,但是不能处理重叠部分     memmove函数可以处理内存重叠的部分   
//void*memcpy(void*被放置的地方,const void*需要放置的函数,元素个数*字节)
//#include<stdio.h>
//自制函数实现部分
//void* my_memcpy(void* dest, void* src, size_t num)//希望返回dest的地址,所以用void*
//{
//    void* ret = dest;//因为后面的dest已经被改变了
//    assert(dest && src);//断言,使之不能为*NULL,需要头文件 #include<assert.h>
//        while (num--)//循环几次,搞定几个字节
//        {
//            *(char*)dest = *(char*) src;//void*dest的指针不能直接进行dest++运算, char*最小
//            dest=(char*)dest+1;//不能自加,因为const锁定
//            src=(char*)src+1;
//        }
//        return ret;
//}
//int main()
//{
//    int arr1[10] = { 1,2,3,4,5,6,7,8,9,10 };
//    int arr2[20] = { 0 };
//    //目的:将arr1放在arr2中,不能用strcpy,因为
//    //strcpy函数类型是char*strcpy(char*dest,const char*src)是char型,不是int型
//    memcpy(arr2, arr1, 20);//5个元素*4个字节
//
//    my_memcpy(arr2, arr1, 20);//自制my_memcpy实现memcpy
//    return 0;
//}


相关文章
|
存储 C语言
函数指针数组:更高效的代码实现方式——指针进阶(二)
函数指针数组:更高效的代码实现方式——指针进阶(二)
68 0
|
2月前
|
Serverless 编译器 C语言
【C语言】指针篇- 深度解析Sizeof和Strlen:热门面试题探究(5/5)
【C语言】指针篇- 深度解析Sizeof和Strlen:热门面试题探究(5/5)
|
6月前
|
编译器 C语言
详解sizeof()和strlen()的细节及用法
详解sizeof()和strlen()的细节及用法
45 1
详解sizeof()和strlen()的细节及用法
|
存储 C语言
【C语言】memcpy , memset等内存操作函数使用方法与注意事项
【C语言】memcpy , memset等内存操作函数使用方法与注意事项
198 0
|
7月前
|
存储 C语言
c语言中strlen与sizeof的区别(指针面试题详解帮你深度区分!)
c语言中strlen与sizeof的区别(指针面试题详解帮你深度区分!)
模拟实现库函数strcpy,对strcpy的进一步理解(深刻理解重叠问题,防止内存与源重叠)
模拟实现库函数strcpy,对strcpy的进一步理解(深刻理解重叠问题,防止内存与源重叠)
|
C语言
【C语言】深度讲解 atoi函数 使用方法与模拟实现
【C语言】深度讲解 atoi函数 使用方法与模拟实现
224 0
|
C语言 C++
进阶C语言 第五章-------《动态内存管理》 (malloc、free,calloc、realloc、柔性数组、C/C++程序在内存)知识点+完整思维导图+基本练习题+深入细节+通俗易懂+建议收藏(二)
进阶C语言 第五章-------《动态内存管理》 (malloc、free,calloc、realloc、柔性数组、C/C++程序在内存)知识点+完整思维导图+基本练习题+深入细节+通俗易懂+建议收藏(二)
|
C语言
C语言中基础(有关数据拷贝的函数,例:strcpy,strncpy,memcpy,memove库函数的实现和应该注意的小细节)
C语言中基础(有关数据拷贝的函数,例:strcpy,strncpy,memcpy,memove库函数的实现和应该注意的小细节)
|
C语言 C++
进阶C语言 第五章-------《动态内存管理》 (malloc、free,calloc、realloc、柔性数组、C/C++程序在内存)知识点+完整思维导图+基本练习题+深入细节+通俗易懂+建议收藏(一0
进阶C语言 第五章-------《动态内存管理》 (malloc、free,calloc、realloc、柔性数组、C/C++程序在内存)知识点+完整思维导图+基本练习题+深入细节+通俗易懂+建议收藏(一0