/* * 通过自定义的函数memcpy实现复制功能,优点是不需要引用库函数 * 在windows平台下,通过sizeof测试发现: int 4字节 float 4字节 double 8字节 */ #include <stdio.h> void *memcpy(void * des,void const *src,size_t len); void print(int *data,size_t n); int main(void) { float des[10]={0}; float src[10]={0,1,2,3,4,5,6,7,8,9}; //float int double都能够通过memcpy函数实现复制功能 printf("%d",sizeof(src)); print(des,10); memcpy(des,src,sizeof(src)); print(des,10); return 1; } void print(float *data, size_t n) { int i=0; printf(" "); for(;i<n;i++) printf("%7.2f ",data[i]); printf(" "); } void *memcpy(void *des,const void *src,size_t len) { char * result =des; const char * from = src; assert(des&&src); while(len--) { *(result++) = *(from++); } return des; }