当前位置: 首页 > news >正文

嘉兴网站备案去哪里镇江网站推广

嘉兴网站备案去哪里,镇江网站推广,汽车之家汽车网,软件工程的就业方向模拟实现memcpy函数#xff1a;函数原型#xff1a;void *memcpy (void *p,void *m, size_t num);memcpy与strcpy相比#xff0c;memcpy函数用来做内存拷贝#xff0c;可以用它拷贝任何数据类型的对象#xff0c;并且可以指定拷贝的数据长度。stycpy函数也是用来做内存拷贝…模拟实现memcpy函数函数原型void *memcpy (void *p,void *m, size_t num);memcpy与strcpy相比memcpy函数用来做内存拷贝可以用它拷贝任何数据类型的对象并且可以指定拷贝的数据长度。stycpy函数也是用来做内存拷贝并且只能拷贝字符串类型的数据。memcpy并不是遇到\0就结束而是一定会拷贝完num个字节。而strcpy 遇到\0就结束。memcpy函数代码#include #include void my_memcpy(void *p,const void *m,size_t num){char *str1  (char *)p;const char *str2  (const char *)m;assert(p);assert(m);while(num){*str1*str2;str1;str2;num--;}}int main(){int arr[]{1,2,3,4,5,6,7,8,9};int i;my_memcpy(arr,arr3,sizeof(int)*5);for(i0;i9;i){printf(%d,arr[i]);}return 0;}memcpy可以拷贝任何数据类型的对象比如上段代码中用memcpy实现了拷贝int 型的数组用memcpy实现数组的拷贝只能是后面的拷贝前面的上面代码中从数组的arr3向arr拷贝在main函数中存入形参(arr,arr3,sizeof(int)*5),在调用函数中用void型的指针接收(void *p,const void* m,size_t num),void可以指向任何类型的指针但是由于复制的时候要一个个字节去复制所以我们需要把void转换成char类型然后char类型的两个指针进行拷贝指针地址加加。模拟实现memmove函数memmove和memcpy函数都是C语言中的库函数作用是拷贝一定长度的内存的内容它们的作用是一样的唯一的区别就是当内存发生局部重叠的时候memmove保证拷贝的结果是正确的memcpy不保证拷贝的结果是正确的。memmove函数代码#include #include void my_memmove(void *p,const void *m,size_t num){char *str1  (char *)p;const char *str2  (const char *)m;assert(p);assert(m);if (str1str2  str1 {while (num--){*(str1num)  *(str2num);}}else{while(num){*str1*str2;str1;str2;num--;}}}int main(){int arr[]{1,2,3,4,5,6,7,8,9};int i;//my_memmove(arr,arr3,sizeof(int)*5);my_memmove(arr3,arr1,sizeof(int)*5);for(i0;i9;i){printf(%d,arr[i]);}return 0;}memmove分两种情况一种是拷贝时内存内部没有发生局部重叠的时候它的拷贝方式跟memcpy是相同的另一种是内存内部发生局部重叠时相当于(str1str2str1模拟实现memset函数函数原型是void *memset(void *src,int num,size_t len);memset函数通常用来对一块已经分配地址的内存进行初始化并且通常初始化为0.#include #include void my_memset (void *src,int num,size_t len){char *ptr(char*)src;while(len--){*ptr((char*)num);ptr;}}int main(){int arr[10];int i;my_memset(arr,0,5*sizeof(int));for (i0;i10;i){printf(%d ,arr[i]);}return 0;}一定需要注意的是memset是按照字节对初始化空间进行初始化的也就是说函数里面的第二个参数的那个初值是按照一个一个字节往第一个参数所指区域赋值的所以对于单字节数据类型(char)可以初始化为任何值但对于非但字节数据类型只能初始化为0.
http://www.lebaoying.cn/news/7349.html

相关文章:

  • 长春搜索引擎网站推广wordpress域名搬家
  • 如何获得网站域名大学生心里健康网站设计与建设
  • 营销网站设计包括淘宝店铺推广方式有哪些
  • 如何建立自己的公司网站免费的海报设计软件
  • 中国新闻社官方网站网站标准尺寸
  • 营销网站seo推广费用做自媒体好还是网站好
  • 苏州网络营销及网站推广游戏下载网站 wordpress
  • 电子商务网站建设考试试卷东莞网站推广衣裙
  • 网站开发的前端技术有哪些西安免费做网站
  • 网站建设江西有多少家手机访问网站页面丢失
  • 怎么建设自己网站首页上海网站制作平台
  • 网站开发字体的引用安阳市网站建设
  • 用服务器做网站旅游网站建设的功能定位
  • 网站按关键词显示广告图片宁河集团网站建设
  • 现在.net做网站的多吗开发定制软件app需要多少钱
  • 软件开发 系统开发 网站开发服务一千元做网站
  • 江西省城乡建设厅网站网站推广的软文
  • 南昌教育网站建设深圳网站备案点
  • 河南免费网站建设公司网站二次开发公司
  • 三网合一营销型全网站陶瓷马赛克 网站建设 中企动力
  • yu网站建设怎么制作个人网站
  • 交河做网站网站建设 问答
  • 有做电动车修车的网站吗做冻品的网站
  • 国外做任务网站有哪些天水做网站
  • 怎么做注册账号的网站销售型网站建设基本要素
  • 电商网站设计模板中国建筑网站平台有哪些
  • 上海网站推广模板qq代刷网站推广
  • 免费信息网站建设有没有什么专业做美业的网站
  • 金华网站建设制作做网站别人输账号代码
  • 网站设计与网页制作项目教程wordpress 轮播图插件下载