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

鄠邑区建设局网站百度指数1000搜索量有多少

鄠邑区建设局网站,百度指数1000搜索量有多少,开发网站大概要多少钱,短网址网站文章目录 1. memcpy函数1.1使用规则1.2memcpy函数的模拟实现 2.memmove函数2.1使用规则2.2memmove函数的模拟实现 3.memset函数4.memcmp函数 1. memcpy函数 1.1使用规则 void *memcpy ( void *destination, const void *source, size_t num );将source指向的源内存区域中指定…

文章目录

  • 1. memcpy函数
    • 1.1使用规则
    • 1.2memcpy函数的模拟实现
  • 2.memmove函数
    • 2.1使用规则
    • 2.2memmove函数的模拟实现
  • 3.memset函数
  • 4.memcmp函数

1. memcpy函数

1.1使用规则

void *memcpy ( void *destination, const void *source, size_t num );
  • 将source指向的源内存区域中指定字节数(num)的数据复制到destination指向的目标内存区域
  • 遇 ‘\0’ 不会停下
  • 源内存区域和目标内存区域有重叠可能产生未定义行为
    • 当源内存区域和目标内存区域有重叠时,建议使用 memmove 函数,它可以正确处理内存重叠的情况
#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 类型通常占 4 个字节,所以 20 字节相当于 5 个 int 元素// 因此这里将 arr1 的前 5 个元素复制到 arr2 的前 5 个位置int i = 0;for (i = 0; i < 10; i++){printf("%d ", arr2[i]);}return 0;
}

在这里插入图片描述

1.2memcpy函数的模拟实现

#include <stdio.h>
#include <assert.h>// 参数 dst 是目标内存区域的起始地址
// 参数 src 是源内存区域的起始地址
// 参数 count 是要复制的字节数
void* memcpy(void* dst, const void* src, size_t count)
{void* ret = dst;assert(dst);assert(src);/* 从低地址向高地址复制数据 */while (count--) {*(char*)dst = *(char*)src;dst = (char*)dst + 1;src = (char*)src + 1;}return(ret);
}int main() 
{int arr1[] = { 1, 2, 3, 4, 5 };int arr2[5];memcpy(arr2, arr1, sizeof(arr1));for (int i = 0; i < 5; i++) {printf("%d ", arr2[i]);}printf("\n");return 0;
}

在这里插入图片描述

2.memmove函数

2.1使用规则

当源内存区域和目标内存区域有重叠时,建议使用 memmove 函数

void *memmove ( void *destination, const void *source, size_t num );
#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);// arr1 的前 5 个元素复制到 arr1 的第 3 个位置开始往后的 5 个位置int i = 0;for (i = 0; i < 10; i++){printf("%d ", arr1[i]);}return 0;
}

在这里插入图片描述

2.2memmove函数的模拟实现

#include <stdio.h>
#include <assert.h>void* memmove(void* dst, const void* src, size_t count)
{void* ret = dst;assert(dst != NULL);assert(src != NULL);// 情况一:目标内存区域在源内存区域之前,或者目标内存区域在源内存区域之后且不重叠if (dst <= src || (char*)dst >= ((char*)src + count)) {/* 从低地址向高地址复制数据 */while (count--) {*(char*)dst = *(char*)src;dst = (char*)dst + 1;src = (char*)src + 1;}}// 情况二:目标内存区域和源内存区域存在重叠,且目标内存区域在源内存区域之后else {/* 从高地址向低地址复制数据 */// 将目标内存地址移动到要复制的最后一个字节的位置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);
}int main() 
{int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };memmove(arr + 2, arr, 20);for (int i = 0; i < 10; i++) {printf("%d ", arr[i]);}printf("\n");return 0;
}

3.memset函数

memset 函数用于将指定内存区域的前若干个字节设置为指定的值,常用于初始化内存或清空内存。

void *memset ( void *ptr, int value, size_t num );
#include <stdio.h>
#include <string.h>int main()
{char str[] = "hello world";memset(str, 'x', 6);   // 将str数组的前 6 个字节填充为字符 'x'printf("%s", str);return 0;
}

在这里插入图片描述

4.memcmp函数

int memcmp ( const void *ptr1, const void *ptr2, size_t num );
  • 比较ptr1和ptr2指针指向的位置开始,向后的num个字节
  • 根据比较结果返回小于、等于或大于 0 的整数,以此判断两个内存区域内容的大小关系
  • 直到比较完 num 个字节或发现不同
#include <stdio.h>
#include <string.h>int main()
{char buffer1[] = "DWgaOtP12df0";char buffer2[] = "DWGAOTP12DF0";int n;n = memcmp(buffer1, buffer2, sizeof(buffer1));if (n > 0)printf("'%s' is greater than '%s'.\n", buffer1, buffer2);else if (n < 0)printf("'%s' is less than '%s'.\n", buffer1, buffer2);elseprintf("'%s' is the same as '%s'.\n", buffer1, buffer2);return 0;
}

在这里插入图片描述

http://www.dtcms.com/wzjs/398998.html

相关文章:

  • wordpress生活服务郑州seo外包顾问热狗
  • 无锡网站建设团队seo优化自学
  • 网站底部素材百度指数批量获取
  • 大良做网站的公司长尾词挖掘免费工具
  • 都匀网站建设好口碑关键词优化地址
  • 服务器上发布网站青岛百度快速优化排名
  • 信息流推广渠道有哪些优化大师免费版
  • 手机开发网站建设google网站
  • 网站建设资料 优帮云如何能查到百度搜索排名
  • wordpress主题 m1北京seo推广优化
  • 小工作室做网站河南自助建站seo公司
  • 工作室起名大全免费取名百度seo优化技巧
  • 企业邮箱注册需要什么sem和seo是什么职业
  • 成都前端培训机构企业站seo外包
  • 怎么做找优惠券的网站seo入门到精通
  • 北航做网站公司竞价排名点击
  • 做网站为什么需要营业执照关于友情链接的作用有
  • 吉安做网站公司搭建一个网站
  • 武汉哪里做网站推广平台收费标准
  • 花木网站建设企业建站免费模板
  • 游戏网站建设的目的免费seo在线优化
  • 电子商务网站规划与建设的论文广州品牌营销策划公司排名
  • 网站的功能模块数据分析师资格证书怎么考
  • 国外的包装设计网站淘宝客怎么做推广
  • 安徽弘泰建设管理有限公司网站惠州seo计费管理
  • 特微网站首页高端网站建设案例
  • 网站建设 响应式 北京推广软文模板
  • 亚马逊网网站建设规划报告关键词如何排名在首页
  • 怎么做国内网站吗新媒体运营培训课程
  • 工业设计专业是干什么的seo和sem是什么意思