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

温州做网站哪儿怎么打开wordpress后台

温州做网站哪儿,怎么打开wordpress后台,文山app开发定制,电商新手入门教程欢迎来CILMY23的博客喔#xff0c;本篇为​【C语言】内存操作#xff0c;内存函数篇---memcpy#xff0c;memmove#xff0c;memset和memcmp内存函数的使用和模拟实现【图文详解】#xff0c;图文讲解四种内存函数#xff0c;带大家更深刻理解C语言中内存函数的操作… 欢迎来CILMY23的博客喔本篇为​【C语言】内存操作内存函数篇---memcpymemmovememset和memcmp内存函数的使用和模拟实现【图文详解】图文讲解四种内存函数带大家更深刻理解C语言中内存函数的操作感谢观看支持的可以给个一键三连点赞关注收藏。  前言 在结束上一期字符系列篇后本篇我们将了解四种内存操作的函数它们分别是memcpymemmovememset和memcmp。 目录 一、memcpy memcpy的介绍和使用  memcpy的模拟实现 二、memmove memmove的介绍和使用 memmove的模拟实现 三、memset 四、memcmp  一、memcpy memcpy可以在cplusplus网站查询memcpy - C Reference (cplusplus.com) 函数原型如下 void * memcpy ( void * destination, const void * source, size_t num ); 函数介绍如下 函数返回值和使用案例如下 memcpy的介绍和使用  memcpy是一个复制内存空间的函数Copy block of memory复制内存块将 num 字节的值从源指向的位置直接复制到目标指向的内存块。 那具体是怎么使用的呢 我们来看一个整型数组的使用案例 #includestdio.h #includestring.hint main() {int arr1[] { 1,2,3,4,5,6,7,8,9,10 };int arr2[60];memcpy(arr2, arr1, 20);for (int i 0; i 5; i){printf(%d, arr2[i]);}return 0; } 结果如下 memcpy的模拟实现 思路 因为我们并不知道要接收什么样的数据类型所以可以用void *来定义数据类型因为void*不能直接加减整数所以我们要将其转换成char * 的一个字节指针变量然后进行加减最后赋值给自己。 void* my_memcpy(void* dest, const void* src, size_t num) {assert(dest src);void* ret dest;while (num--){*(char*)dest *(char*)src;dest (char*)dest 1;src (char*)src 1;}return ret; } 写完后我们看案例如果目标空间和源空间重叠了呢 #includestdio.h #includestring.hint main() {int arr1[] { 1,2,3,4,5,6,7,8,9,10 };int arr2[60];memcpy(arr13, arr1, 20);for (int i 0; i 5; i){printf(%d, arr1[i]);}return 0; } 结果如下 我们用自己的拷贝呢 int main() {int arr1[] { 1,2,3,4,5,6,7,8,9,10 };my_memcpy(arr13, arr1, 20);for (int i 0; i 10; i){printf(%d , arr1[i]);}return 0; } 结果如下  我们来看过程图 总结 1.memcpy的使用需要包括头文件string.h 2.函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 3.memcpy函数在遇到  \0 的时候并不会停下来。 4.如果source和destination有任何的重叠复制的结果都是未定义的。 5.memcpy的返回值是目标空间的起始地址 二、memmove 为了解决上述情况我们需要用到memmove来解决内存重叠的问题memmove可以在cplusplus网站查询memmove - C Reference (cplusplus.com) 函数原型如下 void * memmove ( void * destination, const void * source, size_t num ); 函数介绍如下 函数返回值和使用案例如下 memmove的介绍和使用 memmove可以解决出现内存重叠空间的情况将 num 字节的值从源指向的位置复制到目标指向的内存块。复制就像使用中间缓冲区一样进行从而允许目标和源重叠。 int main() {int arr1[] { 1,2,3,4,5,6,7,8,9,10 };memmove(arr13, arr1, 20);for (int i 0; i 10; i){printf(%d , arr1[i]);}return 0; } 结果如下  memmove的模拟实现 思路为了解决重叠问题我们得对src和dest的目标空间起始位置进行讨论分两种情况从后往前或者从前往后复制 我们发现当dest在src的右边就需要从后往前拷贝  而dest在src的左边就需要从前往后拷贝  当dest和src不重叠的时候无论是从前往后还是从后往前都可以。  所以一共有两种方案 方案一我们采取dest在src前面的情况然后其余只采用从后往前 方案二、我们采取dest src并且dest (char*)src num, //方案一 void* my_memmove(void* dest, const void* src, size_t num) {assert(dest src);void* ret dest;if (dest src){//从前向后while (num--){*(char*)dest *(char*)src;dest (char*)dest 1;src (char*)src 1;}}else{//从后向前while (num--){*((char*)dest num) *((char*)src num);}}return ret; } //方案二 void* my_memmove(void* dest, const void* src, size_t num) {assert(dest src);void* ret dest;if (dest src dest (char*)src num){//从后向前while (num--){*((char*)dest num) *((char*)src num);}}else{//从前向后while (num--){*(char*)dest *(char*)src; dest (char*)dest 1;src (char*)src 1;}}return ret; } 二者最后的结果如下所示 总结 1.如果源空间和⽬标空间出现重叠就得使用memmove函数处理。 2.memmove的使用需要包括头文件string.h 3.memmove将 num 字节的值将源指向的位置复制到目标指向的内存块。复制就像使用中间缓冲区一样进行从而允许目标和源空间重叠。 4.memmove和memcpy函数一样在遇到  \0 的时候并不会停下来。 5.memmove的返回值是目标空间的起始地址 三、memset memset可以在cplusplus网站查询memset - C 参考 (cplusplus.com) 函数原型如下 void * memset ( void * ptr, int value, size_t num ); 函数介绍如下 函数返回值和使用案例如下 函数的使用和介绍  memset是用来填充内存的填充内存的值就是函数参数中的value #includestdio.h #includestring.hint main() {char arr[] hello CILMY23;memset(arr, 1, 5);for (int i 0; i 13; i){printf(%c , arr[i]);}return 0; } 结果如下 总结 1.memset是用来设置内存的将内存中的值以字节为单位设置成想要的内容。 2.memset的使用需要包括头文件string.h 3.memset的返回是原空间的地址 4.memset只能对字节进行操作操作的是一个字节数 四、memcmp  memcmp可以在cplusplus网站查询memcpy - C Reference (cplusplus.com) 函数原型如下 int memcmp ( const void * ptr1, const void * ptr2, size_t num ); 函数介绍如下 函数返回值和使用案例如下 memcmp的使用 #includestdio.h #includestring.hint main() {int arr1[] { 1,2,3,4,5 };int arr2[] { 1,5,6,7,8, };int ret memcmp(arr1, arr2,5);printf(%d , ret);return 0; } 总结 1.memcmp是比较从ptr1和ptr2指针指向的位置开始向后的num个字节 2.memcmp的使用需要包括头文件string.h 3.memcmp的返回值是ptr1大于ptr2返回大于0的值小于返回小于0的值相等返回0 4.memcmp比较的是字节内容 感谢各位同伴的支持本期内存函数篇就讲解到这啦如果你觉得写的不错的话可以给个一键三连点赞关注收藏若有不足欢迎各位在评论区讨论。
http://www.pierceye.com/news/339779/

相关文章:

  • 网站公司做网站dede查看网站
  • 网站软件大全免费下品牌网站策划
  • 网站解析密码网站被收录后又被提出了
  • 图片外链上传网站美篇app怎么制作
  • h5自适应网站建设是什么意思保险官网
  • 建设网站的时候名师工作室建设网站
  • 网页开发网站宜昌网站seo
  • 网站做国际化网站服务器及运营维护公告
  • 潍坊网站开发招聘信息只做乡村旅游的网站
  • 什么网站可以做二建的题目汕尾网站网站建设
  • 如何用wampp 做网站网店seo
  • 新乡企业网站建设公司长安网站建设多少钱
  • 九亭镇村镇建设办官方网站工作简历模板电子版免费
  • 有保障的无锡网站制作wordpress怎么映射到外网访问不了
  • 邯郸网站设计怎么做移动网站 用户体验
  • 实验报告网站建设与网页制作oa系统是什么
  • 信息发布网站开发模板提高网站响应速度
  • 本科网站开发毕业设计贵阳平台网站建设
  • 安徽省建设厅网站打不开杭州建设网 执法人员名单
  • 外贸网站建站公司如何做滴滴网站平台
  • 淄博张店做网站的公司建筑设计公司资质等级
  • 一个网站的建设需要哪些流程图eclipse的开发网站开发
  • 网站链接跳转怎么做建立数据库连接时出错wordpress
  • 漳州网站建设选博大不错江苏省建设工程注册中心网站
  • 文件下载网站源码免费做网站空间
  • 怎样给公司做一个网站做推广新网域名管理平台
  • 新蔡县做网站收多少钱二级分销利润分配模式
  • 鞍山百度网站怎么制作python培训视频教程
  • 湛江网站建设与网页网站建设需要什么证件
  • 东莞建站公司案例全网天下案例wordpress入门教程知乎