当前位置: 首页 > 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.zqtcl.cn/news/339779/

相关文章:

  • 2w网站建设模式百度应用市场
  • vps主机访问网站湖南建站网站
  • 滨州正规网站建设公司用r语言 做网站点击热力图
  • php网站模板wordpress自定义头像上传
  • 江油市规划和建设局网站一个app网站
  • 郑州网站建设up188WordPress响应式幻灯片
  • 幸运28网站代理怎么做网站后期维护工作包括哪些
  • 西安网站建设seo网络营销的职能
  • 大型网站建设哪家服务好dll网站服务
  • 怎样建设网赌网站江苏外贸网站建设
  • 做外贸有哪些网站怎么在360自己做网站
  • 企业网站建立费用 作什么科目深圳服装外贸公司
  • 淘宝网站建设代码视频开放api
  • 清廉企业建设骨科医院网站优化服务商
  • 公司网站建设开源平台网站建设推来客在哪里
  • 本地电脑静态网站建设半年工作总结
  • 潮州哪里做网站html in wordpress
  • 在浏览器上建设网站平面作品集展示图片
  • 建设网站的技术手段天津泰达建设集团网站
  • 怎样做读书会网站广州公司注册在线
  • 多个网站做计划响水哪家专业做网站
  • 中国建设基础设施总公司 网站怒江网站建设
  • 做电脑网站手机能显示不出来怎么办有友情链接的网站
  • 潘家园做网站的公司网络营销管理系统
  • 如何在各大平台推广博客网站seo
  • 网站地图那么建设国内哪个网站做水产比较大
  • 可以做图片视频的网站网站策划网
  • 在阿里云做的网站怎么移动南宁seo咨询
  • 电子商务网站开发课程设计论文温州市微网站制作电话
  • 常州住房和城乡建设部网站网站开发哪家公司口碑好