C语言:模拟实现memcpy
来源:互联网 发布:股票智能交易软件 编辑:程序博客网 时间:2024/06/05 05:36
模拟实现内存拷贝函数memcpy(),该特点与strcpyhttp://10740184.blog.51cto.com/10730184/1714516 比较就是不管是不是string类型均可以比较,只是单纯内存的比较。
void *my_memcpy(void *p1,const void *p2, size_t count)
设置为空类型是考虑到接收任何类型的转换,无需强制转换。而考虑到p1,p2,sizeof(p1)是地址,=4。而*p是空类型, 不知道访问多少个字节来取内容。因此有以下操作:
char *dest = (char *)p1; char *src = (char *)p2;
size_t是unsigned int 型,字节数,即类型长度与串长度乘积。
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<assert.h>void *my_memcpy(void *p1,const void *p2, size_t count){ assert(p1); assert(p2); char *dest = (char *)p1; char *src = (char *)p2; char *ret = dest; while (count--) { *dest = *src; src++; dest++; } return ret;}int main(){ float arr1[] = { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0 }; float arr2[10]; int i = 0; int len = sizeof(arr1); float *ret = my_memcpy(arr2, arr1,len ); for (i = 0; i < 9; i++) { printf("%f ", *(ret + i)); } system("pause"); return 0;}
0 0
- C语言:模拟实现memcpy
- 【C语言】模拟实现memcpy库函数
- C语言模拟实现memcpy,memmove函数
- 【c语言】模拟实现memcpy()、memmove()函数
- C语言模拟实现memcpy、memmove、memset
- C语言模拟实现memcpy和memmove
- c语言实现memcpy
- c语言实现memcpy
- C语言实现memcpy
- 【C语言】 实现memcpy
- 用c语言.模拟实现strcpy,strcat,strcat,memcpy,memmove
- C语言 string及memcpy,memmove函数的模拟实现
- c语言中的memcpy实现
- 【C语言】【面试题】【笔试题】模拟实现数据库中memcpy函数
- c语言内存管理函数,模拟memcpy、memmove(实现内存重叠拷贝)、memset
- 模拟实现C语言库函数strcpy,strcat,strstr,strchr,strcmp,memcpy,memmove
- C语言实现strcpy和memcpy
- 【c语言】不用库函数实现memcpy
- C语言:使用main函数的参数,实现一个整数计算机。
- java 成员访问级别
- C语言:调整数组使奇数全部都位于偶数前面。
- C/C++(&Java) Volatile关键词深度剖析
- C语言:模拟实现memmove
- C语言:模拟实现memcpy
- HDU 5378 (概率dp)
- 【笔试题】C语言:模拟实现strcmp
- C语言函数变参问题
- 【笔试题】C语言:模拟实现strcat
- 安装 Maven
- Android Service完全解析,关于服务你所需知道的一切(上)
- C语言:模拟实现strcpy
- 【笔试题】C语言:模拟实现strncmp