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

许昌专业做企业网站的企业门户网站 源码

许昌专业做企业网站的,企业门户网站 源码,百度网页游戏中心,做网站有哪些公司今天又来写一篇C的文章#xff0c;这里要讲的是C语言中的几个内存函数#xff0c;主要是讲解功能和用法#xff0c;望能耐心观看哦。望官方也多多曝光。 目录 memcpy memmove memset memcmp memcpy memcpy 是 C 语言标准库中的一个函数#xff0c;用于复制内存块的内容…今天又来写一篇C的文章这里要讲的是C语言中的几个内存函数主要是讲解功能和用法望能耐心观看哦。望官方也多多曝光。 目录 memcpy memmove memset memcmp memcpy memcpy  是 C 语言标准库中的一个函数用于复制内存块的内容。它的主要作用是将一个源内存区域的内容复制到另一个目标内存区域且是按照所给字节数进行复制。  函数原型     void *memcpy(void *dest, const void *src, size_t n); 参数说明    dest 指向目标内存区域的指针复制的结果将存储在这个位置。   src 指向源内存区域的指针要复制的内容将从这个位置读取。   n 要复制的字节数。  函数行为   1.  memcpy  会从源内存区域复制指定数量的字节到目标内存区域。 2. 复制是按字节进行的不考虑数据类型或字节序。 3. 函数返回指向目标内存区域的指针。  代码使用例子 #include stdio.h #include string.h int main() {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]);}return 0; } 代码解析上面代码中我们调用函数memcpy函数进行传参将arr1前20个字节的内容复制到arr2中。根据结果确实如此20个字节为5个整形元素大小所以这里从arr1中12345 复制到arr2中至于后面的5个0是因为在VS中如果未对数组中进行初始化的元素会默认为0. 为了让大家更了解这个函数这里为大家模拟实现一下memcpy函数 void* Memcpy(void* dst, const void* src, size_t count) {void* ret dst;assert(dst);assert(src);/** copy from lower addresses to higher addresses*/while (count--) {*(char*)dst *(char*)src;dst (char*)dst 1;src (char*)src 1;}return(ret); } 这里面强制转化为char*的指针是因为让指针dst和src都是一个一个字节的往后访问。  需要注意的是memcpy是不能对两个有重叠部分的指针完成准确的复制的所以我们需要看下一个有重叠部分也可以完成操作的函数memmove。 memmove memmove  是 C 语言标准库中的一个函数它与  memcpy  类似用于复制内存块的内容。与  memcpy  不同的是 memmove  可以在源和目标内存区域有重叠的情况下安全地进行复制。  函数原型     void *memmove(void *dest, const void *src, size_t n); 参数说明   dest 指向目标内存区域的指针复制的结果将存储在这个位置。   src 指向源内存区域的指针要复制的内容将从这个位置读取。   n 要复制的字节数。  函数行为   1.  memmove  用于在不同的内存位置之间复制数据即使源和目标区域有重叠也能正确工作。 2. 它会根据源和目标的相对位置以适当的方式复制数据确保结果是正确的。 代码简单使用例子 #include stdio.h #include string.h int main() {int arr1[] { 1,2,3,4,5,6,7,8,9,10 };memmove(arr1 2, arr1, 20);int i 0;for (i 0; i 10; i){printf(%d , arr1[i]);}return 0; } 代码解析这里很明显即使我们调用memmove函数时传过去的指针地址是明显有重叠部分的但是这里我们看见结果确实是没问题的将arr的前20个字节即5个元素复制到arr2往后的元素。  还是为了大家更好理解函数的逻辑给大家模拟实现一下memmove函数 void* memmove(void* dst, const void* src, size_t count) {void* ret dst;if (dst src || (char*)dst ((char*)src count)) {/** Non-Overlapping Buffers* copy from lower addresses to higher addresses*/while (count--) {*(char*)dst *(char*)src;dst (char*)dst 1;src (char*)src 1;}}else {/** Overlapping Buffers* copy from higher addresses to lower addresses*/dst (char*)dst count - 1;src (char*)src count - 1;while (count--) {*(char*)dst *(char*)src;dst (char*)dst - 1;src (char*)src - 1;}}return(ret); } 这里面强制转化为char*的指针是因为让指针dst和src都是一个一个字节的往后访问。  memset memset  是 C 语言标准库中的一个函数用于将指定的内存区域填充为特定的值。  函数原型     void *memset(void *str, int c, size_t n); 参数说明    str 指向要填充的内存区域的指针。  c 要填充的特定值。通常是一个整数类型的值。  n 要填充的字节数。  函数行为   1.  memset  使用指定的值  c  填充内存区域的前  n  个字节。 2. 填充是按字节进行的无论内存区域的实际数据类型如何。 简单代码使用例子 #include stdio.h #include string.h int main() {char str[] hello world;memset(str, x, 6);printf(str);return 0; } 函数较为简单就不多加解释了。  memcmp memcmp是一个用于比较内存区域的函数 函数原型 int memcmp ( const void * ptr1, const void * ptr2, size_t num ); 参数说明两个需要比较的内存块的起始地址 ptr1 和 ptr2以及需要比较的字节数 num。 函数行为 函数会比较 ptr1 和 ptr2 指向的内存块前 num 个字节的内容返回值为整型表示比较结果如果两个内存块的前 num 个字节完全相等则返回0如果 ptr1 指向的内存块小于 ptr2 指向的内存块则返回负数如果 ptr1 指向的内存块大于 ptr2 指向的内存块则返回正数。  代码简单实用例子 #include stdio.h #include string.h int main() {char buffer1[] hello;char buffer2[] good;int n;n memcmp(buffer1, buffer2, sizeof(buffer1));if (n 0)printf(%s 比 %s大.\n, buffer1, buffer2);else if (n 0)printf(%s 比 %s小.\n, buffer1, buffer2);elseprintf(%s 与 %s一样大.\n, buffer1, buffer2);return 0; } 今天文章就结束了觉得有用可以点个赞再走唔。
http://www.zqtcl.cn/news/314024/

相关文章:

  • o2o网站运维建设方案宿州市网站建设
  • 上海网站排名优化公司马蜂窝是什么做的网站
  • 邢台网站建设网站淘宝小程序入口
  • 公司起名自动生成器网站优化方法
  • 太原网站开发团队wordpress 链接 插件
  • 阿克顿巴网站建设的目的智通人才招聘网
  • 网站快速优化成营销型网站制作
  • 网站建设mus18php 网站缓存文件
  • 建设企业网站企业网上银行助手下载泰安网签数据
  • 网站开发产权保护如何去掉2345网址导航
  • 网站数据库怎么备份自建网站步骤
  • 多语言版本的网站做网站西安
  • 蚌埠市住房建设部网站在线免费做网站
  • 天津网站建设网络企业网址模板
  • 如何做京东购物网站旅游前 做攻略有什么网站好用
  • 嘉兴网站推广优化公司wordpress显示系统
  • 网站建站定做空间里怎么放多个网站
  • 清远市企业网站seo联系方式深圳人才市场现场招聘信息
  • 网站制作在哪能看网站开发前台开发
  • 一般网站用什么数据库游戏源码搭建
  • 做国外搞笑网站上海建设工程网站
  • 泰州免费网站建站模板网站建设用python怎么样
  • 优秀作文网站都有哪些企业网站的开发与应用
  • 织梦做网站被告如何再工商局网站做设备抵押
  • 什么是自适应网站怎么做国际购物网站
  • 促销活动推广文案网站加alt属性对优化有影响吗
  • 平湖网站改版洛卡博网站谁做的
  • 买卖平台有哪些网站三航奔腾建设有限公司官方网站
  • 网站建设的企业wordpress teamtalk
  • 公司起名字大全免费查询网站的哪些标签需要优化