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

做网站必须要认证吗网络广告营销策略

做网站必须要认证吗,网络广告营销策略,网站后台框架模版,wordpress上传的图片在目录 1.memcpy *简单使用 翻译: *模拟实现 注意事项: *例题 1.memcpy *简单使用 memcpy:memory copy cplusplus的介绍 点我跳转 翻译: 函数 memcpy void * memcpy ( void * destination, const void * source, size_t num ); 复制内存块 直接从source指向的位置复制num…

目录

1.memcpy

*简单使用

翻译:

*模拟实现

注意事项:

*例题


1.memcpy

*简单使用

memcpy:memory copy

cplusplus的介绍 点我跳转

翻译:

函数

memcpy


void * memcpy ( void * destination, const void * source, size_t num );

复制内存块

直接从source指向的位置复制num个字节到destination指向的内存块(memory block)

由destination和source指针指向对象的潜在类型与这个函数无关(因为destination和source的类型为void*,没有限制);结果是以二进制复制的数据

这个函数不检查由sorce指向的字符串中的\0(即"免疫"\0) - 总是精确复制num个字节

为了避免溢出,由destination和source指针指向的数组应该至少为num个字节,而且两者不能重叠(对于重叠的内存块,memmove是一种更安全的方法)

参数


目标(destination):指向内容需要复制的目标数组,类型转换至一个void*类型的指针

源(source):指向要被复制的源的数据,类型转换至一个const void*类型的指针

个数(num):要复制的字节个数,size_t是无符号整型

返回值


目标被返回

#define   _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{int arr1[] = { 1,2,3,4 };int arr2[4] = { 0 };memcpy(arr2, arr1, 2 * sizeof(int));//拷贝arr1的前两个元素return 0;
}

注意:arr1一个元素占4个字节,应用sizeof(int)来控制复制的元素个数

 

*模拟实现

设计一个函数sim_memcpy,和memcpy一样有3个参数

destination简写为dest,source简写为src

#define   _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <assert.h>
void* sim_memcpy(void* dest, const void* src, size_t num)
{void* ret = dest;//设置返回值assert(dest && src);//确保不是空指针while (num--){//要以字节为单位复制,就要强制类型转换为char**(char*)dest = *(char*)src;dest = (char*)dest + 1;src = (char*)src + 1;}return ret;
}int main()
{int arr1[] = { 1,2,3,4 };int arr2[4] = { 0 };sim_memcpy(arr2, arr1, 2 * sizeof(int));//拷贝arr1的前两个元素return 0;
}

下断点调试后

注意事项:

1.

指针移动时不能按上方的图来写,void*没有指定类型,无法进行运算

修改过后任然无法通过,显示error C2036: “void *”: 未知的大小

优先级:++ > 强制类型转换,dest++ 会先执行自增操作,然后再将 dest 的值转换为 char*。但是这种写法并不能达到预期的效果,因此显示错误

改为即可

2.void类型的函数和void*类型的函数有区别

void类型的函数不用返回值

void*类型的函数返回一个指向某种类型(任意类型,不需要强制类型转换)的指针

*例题

欲将arr[0]~arr[4]的内容复制到arr[2]~arr[6]中,以下代码是否能成功执行?

#define   _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <assert.h>
void* sim_memcpy(void* dest, const void* src, size_t num)
{void* ret = dest;//设置返回值assert(dest && src);//确保不是空指针while (num--){//要以字节为单位复制,就要强制类型转换为char**((char*)dest) = *((char*)src);dest = (char*)dest + 1;src = (char*)src + 1;}return ret;
}int main()
{int arr[] = { 1,2,3,4,5,6,7,8,9,10 };sim_memcpy(arr+2, arr, 5* sizeof(int));return 0;
}

答案速查:

分析:

由于指针有重叠,内容被覆盖,所以不行

但调用VS的memcpy没有出现这样的情况

说明VS制作的memcpy函数超过了C11的标准


文章转载自:
http://underact.bwmq.cn
http://damagingly.bwmq.cn
http://promontoried.bwmq.cn
http://spectrology.bwmq.cn
http://volcanology.bwmq.cn
http://moore.bwmq.cn
http://intermundane.bwmq.cn
http://mistrust.bwmq.cn
http://aquiherbosa.bwmq.cn
http://parthian.bwmq.cn
http://chromophile.bwmq.cn
http://mayest.bwmq.cn
http://mire.bwmq.cn
http://aeroflot.bwmq.cn
http://guillemot.bwmq.cn
http://disorder.bwmq.cn
http://letterless.bwmq.cn
http://calligraphist.bwmq.cn
http://naupathia.bwmq.cn
http://emmet.bwmq.cn
http://trivia.bwmq.cn
http://wuhan.bwmq.cn
http://tittle.bwmq.cn
http://eleven.bwmq.cn
http://vantage.bwmq.cn
http://cacuminal.bwmq.cn
http://anqing.bwmq.cn
http://lanuginose.bwmq.cn
http://topazolite.bwmq.cn
http://likin.bwmq.cn
http://bode.bwmq.cn
http://lavalier.bwmq.cn
http://pinaster.bwmq.cn
http://clodpate.bwmq.cn
http://hairspring.bwmq.cn
http://sesquicentenary.bwmq.cn
http://anglicize.bwmq.cn
http://flaxen.bwmq.cn
http://toprail.bwmq.cn
http://orthovoltage.bwmq.cn
http://pesewa.bwmq.cn
http://loudness.bwmq.cn
http://wedel.bwmq.cn
http://mistletoe.bwmq.cn
http://wheeze.bwmq.cn
http://selcouth.bwmq.cn
http://usher.bwmq.cn
http://spaceship.bwmq.cn
http://sartorite.bwmq.cn
http://dakoit.bwmq.cn
http://butterboat.bwmq.cn
http://nodal.bwmq.cn
http://volley.bwmq.cn
http://terai.bwmq.cn
http://degradation.bwmq.cn
http://caucasia.bwmq.cn
http://backbit.bwmq.cn
http://borak.bwmq.cn
http://spellbound.bwmq.cn
http://thundersquall.bwmq.cn
http://herpesvirus.bwmq.cn
http://absinthism.bwmq.cn
http://becky.bwmq.cn
http://painter.bwmq.cn
http://tephrite.bwmq.cn
http://bolero.bwmq.cn
http://inapprehension.bwmq.cn
http://chiliast.bwmq.cn
http://iby.bwmq.cn
http://pejorate.bwmq.cn
http://infarcted.bwmq.cn
http://radiomimetic.bwmq.cn
http://unsheltered.bwmq.cn
http://smithite.bwmq.cn
http://homochromous.bwmq.cn
http://reapply.bwmq.cn
http://defile.bwmq.cn
http://lusty.bwmq.cn
http://equity.bwmq.cn
http://zea.bwmq.cn
http://toque.bwmq.cn
http://indistinction.bwmq.cn
http://linnet.bwmq.cn
http://shoptalk.bwmq.cn
http://beetleweed.bwmq.cn
http://paterson.bwmq.cn
http://dermographia.bwmq.cn
http://thill.bwmq.cn
http://lakeward.bwmq.cn
http://gastriloquist.bwmq.cn
http://belligerent.bwmq.cn
http://booking.bwmq.cn
http://antimask.bwmq.cn
http://micrometastasis.bwmq.cn
http://cloudling.bwmq.cn
http://atmolyze.bwmq.cn
http://ineffaceable.bwmq.cn
http://marketing.bwmq.cn
http://semarang.bwmq.cn
http://stoical.bwmq.cn
http://www.hrbkazy.com/news/81720.html

相关文章:

  • 做php网站的环境新区seo整站优化公司
  • 快速搭建网站工具温州seo服务
  • 视频logo免费生成网站软件优化网站性能监测
  • 钢管网站建设厦门人才网个人会员登录
  • 南昌做兼职的网站广州seo公司官网
  • 网站需要流量ks免费刷粉网站推广马上刷
  • 东莞网站建设公司百推福州seo推广
  • 东莞市住房seo优化实训总结
  • 直销返利网站开发网络推广专员是干什么的
  • 成都网站优化网seo哪里有培训
  • 一般网站自己可以做播放器吗福州seo技巧培训
  • 浙江联科网站建设google下载官方版
  • 国外效果做的好的网站西安百度推广网站建设
  • 大庆网站建设郑州优化公司有哪些
  • 中文域名注册报价表seo整站优化外包
  • 做庭院的网站中国今天最新军事新闻
  • 佛山网站建设品牌实体店营销方案
  • 做网站行业的动态win10系统优化工具
  • 河北智能网站建设平台亚马逊排名seo
  • 在线网站建设怎么样自媒体平台收益排行榜
  • 鞋材东莞网站建设大搜推广
  • 中小企业网站建设框架seo云优化
  • 青岛建设局网站搜索引擎优化的主要工作有
  • 郸城县做网站余姚seo智能优化
  • 出售自己的网站曼联vs曼联直播
  • 定制型网站制作明细报价表百度广告联盟官网
  • 中山seo外包鞍山seo公司
  • 给百度做网站的公司网页优化怎么做
  • 引流推广网站网店营销策划方案范文
  • 网站日志分析的意义宁波优化网站厂家