/* * 通過自定義的函數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("\n"); for(;i<n;i++) printf("%7.2f ",data[i]); printf("\n"); } 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; }