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

企业对网站建设的发展如何制作个人网页兼职主页

企业对网站建设的发展,如何制作个人网页兼职主页,wordpress关闭电脑访问,上海方正大厦网站建设目录 memcpy使用和模拟实现memmove使用和模拟实现memset使用memcmp使用 1. memcpy使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num) ; 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存的位置这个函数在遇到…目录 memcpy使用和模拟实现memmove使用和模拟实现memset使用memcmp使用 1. memcpy使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num) ; 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存的位置这个函数在遇到\0的时候并不会停下来如果source和destination有任何的重叠,复制的结果都是未定义的 1.1 使用 int arr1[] {1,2,3,4,5,6,7,8,9,10}; int arr2[10] { 0 }; memcpy(arr2,arr1,20);int i 0; for (i 0; i 10; i) {printf(%d , arr2[i]); }拷贝arr1前5个数到arr2里 输出: 1.2 模拟实现 void* my_memcpy(void * dest,const void * src,size_t num) {void* ret dest;assert(dest);assert(src);while (num--) {*(char*)dest *(char*)src;dest (char*)dest 1;src (char*)src 1;}return ret; }2. memmove使用和模拟实现 void * momove ( void* destination , cosnt void* source , size_t num) ; 和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的如果源空间和目标空间出现重叠,就得用memmove函数处理 2.1 使用 先看下面的代码 int arr1[] {1,2,3,4,5,6,7,8,9,10}; int arr2[10] { 0 }; my_memcpy(arr13,arr1,20);int i 0; for (i 0; i 10; i) {printf(%d , arr1[i]); }上面是想从arr13也就是从4开始的位置复制5个数据也就是1,2,3,1,2,3,4,5,9,10。但最后的结果却不是这样的原因就是当到重叠的位置时数据已经被之前复制的覆盖过了源数据已经被改变所以出现错误 输出 这时换成memove函数试试 int arr1[] {1,2,3,4,5,6,7,8,9,10}; int arr2[10] { 0 }; memmove(arr13,arr1,20);int i 0; for (i 0; i 10; i) {printf(%d , arr1[i]); }输出 2.2 实现 对于一般的情况,我们直接拷贝数据就行,和memcpy一样。当数据有重叠时可以分为三种情况 第一种目标地址desc在源空间src的左边 这种情况下需要拷贝的数据在拷贝之前不会被覆盖,从前往后拷贝 第二种,目标地址desc在srcnum中间,这种情况从前向后拷贝时原值会被替换,所以要从后往前拷贝 第三种,目标地址在src的右边,这个时候从左到右拷贝或从右到左都行 void* my_memmove(void * dest,const void * src,size_t num) {assert(dest);assert(src);void* ret dest;//从前往后拷if (dest src || (char*)dest ((char*)srcnum)) {while (num--) {*(char*)dest *(char*)src;dest (char*)dest 1;src (char*)src 1;}}//从后往前拷else {dest (char*)dest num - 1;src (char*)src num - 1;while (num--) {*(char*)dest *(char*)src;dest (char*)dest - 1;src (char*)src - 1;}}return ret; }3. memeset函数使用 void * memeset ( void * ptr, int value , size_t num) ; memeset是用来设置内存的,将内存中的值以字节为单位设置为想要的内 char str[] hello world; memset(str,x,6); printf(str);将字符串的前6个字符改为x 输出: 4. memcmp函数的使用 int memcmp ( cosnt void * ptr1, const void * ptr2, size_t num) ; 比较从ptr1和ptr2开始,向后num个字节的内容返回值如下: char buffer1[] DWgaOtP12df0; char buffer2[] DWGaOtP12df0; int n; n memcmp(buffer1,buffer2,sizeof(buffer1));printf(%d , n);上面的两个字符串,其中g小写和大写,由于小写的值更大,所以会返回大于0的数 输出:
http://wiki.neutronadmin.com/news/283454/

相关文章:

  • 江苏首天建设集团网站程序外包平台
  • 企业网站怎么收录网站开发与网站制作
  • 云南大永高速公路建设指挥部网站上海网站制作科技公司
  • 做网站最重要的是什么注册安全工程师
  • 泰州市做网站连云港网站开发公司
  • 商城顺德网站建设网站服务器模式
  • 浙江人工智能建站系统软件运城seo招聘
  • 软件通网站建设ios 常用网站
  • 企业网站建设的建议对于网站建设的调查问卷
  • 用网站做自我介绍ppt大连建站系统模板
  • 莒县网站建设建行商城网站
  • 常州模板网站建设价位浙江门户网站建设公司
  • 邢台移动网站建设公司谷歌sem推广
  • 银川网站建设培训哪家好全国城市雕塑建设官方网站
  • 镇江建设银行网站wordpress导航怎么弄
  • 国外网站网站app自媒体怎么入门
  • seo属于什么淄博网站建设推广优化
  • 网站建设入门培训网络营销方式和方法
  • 什么网站可以查建设用地规划许可证wordpress返回旧版本
  • 礼泉住房和城乡建设局网站wordpress叶子
  • wordpress 增加路由丰台网站建设推广seo
  • 天河做网站系统做的好看的pc端网站
  • 广东手机网站建设哪家专业上海要做网站
  • 手机百度官网首页江门网站优化
  • 青岛网站推广服务网站建设 河南
  • 茂名网站建设价格网站开发 功能不会写
  • 哪些网站可以看一级a做爰片东城网站建设哪家好
  • 重庆网站seo费用多用户商城(c2c)网站制作方案
  • 网站建设公司不挣钱的原因网络营销的起源
  • 做网站销售的话术装修设计师在哪里找