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

网站平台建设意见网站首页页面设计模板

网站平台建设意见,网站首页页面设计模板,怎么自己制作二维码,国家企业信用信息网查询模拟实现C语言–memcpy函数和memmove函数 文章目录 模拟实现C语言--memcpy函数和memmove函数一、memcpy函数和memmove函数1.1 memcpy函数是什么1.1 memmove函数是什么 二、使用示例2.1 从起始位置复制2.2 从任意位置复制 三、模拟实现3.1 模拟实现1--memcpy函数3.2 针对缺点改进…模拟实现C语言–memcpy函数和memmove函数 文章目录 模拟实现C语言--memcpy函数和memmove函数一、memcpy函数和memmove函数1.1 memcpy函数是什么1.1 memmove函数是什么 二、使用示例2.1 从起始位置复制2.2 从任意位置复制 三、模拟实现3.1 模拟实现1--memcpy函数3.2 针对缺点改进的模拟实现2--memmove函数3.2.1 刨析原因3.2.2 改正方法3.2.3 代码--模拟实现memmove函数3.2.4 memcpy函数和memmove函数平台问题 一、memcpy函数和memmove函数 1.1 memcpy函数是什么 void * memcpy ( void * destination, const void * source, size_t num );strcpy函数是字符串拷贝函数只能拷贝字符串而其他类型无法使用strcpy函数拷贝而memcpy函数属于内存拷贝函数可以拷贝其他类型。 1.1 memmove函数是什么 void * memmove ( void* destination, const void * source, size_t num );和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。如果源空间和目标空间出现重叠就得使用memmove函数处理。 二、使用示例 函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。这个函数在遇到 ‘\0’ 的时候并不会停下来如果source和destination有任何的重叠复制的结果都是未定义的。 2.1 从起始位置复制 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h #include string.h int main() {int i 0;int arr1[] { 1,2,3,4,5,6,7,8,9,10 };int arr2[10] { 0 };memcpy(arr2, arr1, 20);for (i 0; i 10; i){printf(%d , arr2[i]);}return 0; }2.2 从任意位置复制 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h #include string.h int main() {int i 0;int arr1[] { 1,2,3,4,5,6,7,8,9,10 };int arr2[10] { 0 };memcpy(arr2, arr12, 20);for (i 0; i 10; i){printf(%d , arr2[i]);}return 0; }三、模拟实现 3.1 模拟实现1–memcpy函数 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h #include string.h #include assert.hvoid* my_memcpy(void* destination, const void* source, size_t num) {void* ret destination;assert(destination);assert(source);/** copy from lower addresses to higher addresses*/while (num--) {*(char*)destination *(char*)source;destination (char*)destination 1;source (char*)source 1;}return(ret); } int main() {int i 0;int arr1[] { 1,2,3,4,5,6,7,8,9,10 };int arr2[10] { 0 };my_memcpy(arr2, arr12, 20);for (i 0; i 10; i){printf(%d , arr2[i]);}return 0; }3.2 针对缺点改进的模拟实现2–memmove函数 模拟实现1的代码有一个缺陷就是不能进行自我拷贝 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h #include string.h #include assert.hvoid* my_memcpy(void* destination, const void* source, size_t num) {void* ret destination;assert(destination);assert(source);/** copy from lower addresses to higher addresses*/while (num--){*(char*)destination *(char*)source;destination (char*)destination 1;source (char*)source 1;}return(ret); } int main() {int i 0;int arr1[] { 1,2,3,4,5,6,7,8,9,10 };int arr2[10] { 0 };my_memcpy(arr12, arr1, 20);for (i 0; i 10; i){printf(%d , arr1[i]);}return 0; }3.2.1 刨析原因 3.2.2 改正方法 当dst指针指向的地址在src指针指向位置的右边时这种情况的赋值应该从后向前赋值就是12345先让5赋值在7的位置依次循环 当dst指针指向的地址在src指针指向位置的右边时这种情况的赋值应该从前向后赋值34567先将3赋值给1的位置依次循环 3.2.3 代码–模拟实现memmove函数 #define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h #include string.h #include assert.hvoid* my_memmove(void* destination, const void* source, size_t num) {void* ret destination;assert(destination);assert(source);if (destination source){//从前向后赋值while (num--){*(char*)destination *(char*)source;destination (char*)destination 1;source (char*)source 1;}}//从后向前赋值else{while (num--){*((char*)destinationnum) *((char*)sourcenum);}}return ret; }int main() {int i 0;int arr1[] { 1,2,3,4,5,6,7,8,9,10 };int arr2[10] { 0 };my_memmove(arr12, arr1, 20);for (i 0; i 10; i){printf(%d , arr1[i]);}return 0; }3.2.4 memcpy函数和memmove函数平台问题 目前在vs环境下这两个函数基本没有区别memcpy也可以解决内存重复的问题。别的平台可能还是会有这个问题
http://www.hkea.cn/news/14361774/

相关文章:

  • 室内设计网站源码下载网络推广公司加盟
  • 网站建设网银wordpress模块怎么设置在最上层
  • 网站样版风格排版2022年适合小学生的新闻
  • 自适应营销网站模板中国招标信息网
  • 公司免费网站制作网站设计内容板块
  • 网站中微信公众号链接怎么做网店代运营收费
  • 桥东网站建设广州软件开发兼职
  • 上海手机网站建设报价长宁微信手机网站制作
  • 温州建站平台如何创建网站的详细步骤
  • 上海微网站建设方案哪些公司做app开发
  • 顺德网站建设怎么样东莞网络营销班
  • 代做课件的网站如何上传网站数据库
  • 旅游网站建设的概念下列关于网站开发中网友上传
  • 做一个公司网站多少钱高网站建设
  • 关于网站建设总结手机建网站详细步骤
  • 网站文字超链接怎么做网站页面布局设计
  • 成都维尼网络 网站建设做网站seo的公司哪家好
  • 郑州网站建设公司 排行做一组静态页面网站多少钱
  • 手机asp网站开发工具网络营销教案
  • 南京网站制作西安即墨做网站
  • 好的h5制作网站模板网站有什么
  • 自己做的网站主页被人篡改千博企业网站管理系统营销旗舰版
  • 陕西西安网站建设公司哪家好济南广告设计公司前十名
  • 有经验的手机网站建设沈阳餐饮网站建设
  • 北京设计公司网站河南注册公司代理
  • 深圳建溢公司招聘烟台网站建设seo
  • 网站的组成检察院门户网站建设自查自纠报告
  • 网站视频站建设教程和有域名后怎样做网站
  • 广州网站建设与实验网站保障体系建设
  • 域名邮箱和域名网站thinkphpcmf网站开发