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

网站开发需要学些什么?搜索引擎搜索器

网站开发需要学些什么?,搜索引擎搜索器,未备案个人网站 如何挣钱,aso投放平台文章目录 前言一、memcpy函数#xff08;内存拷贝函数#xff09;二、memmove重叠拷贝函数三.memset内存设置函数四.memcmp内存比较函数总结 前言 我们之前按学习了C语言标准库中提供了一系列的字符和字符串库函数#xff0c;接下来我们就学习一下关于内存相关的一些函数。… 文章目录 前言一、memcpy函数内存拷贝函数二、memmove重叠拷贝函数三.memset内存设置函数四.memcmp内存比较函数总结 前言 我们之前按学习了C语言标准库中提供了一系列的字符和字符串库函数接下来我们就学习一下关于内存相关的一些函数。 一.memcpy函数内存拷贝函数 void * memcpy ( void * destination, const void * source, size_t num ); 1.1使用 destination这个是目地source这个是源头size_t num这个是内存大小的字节单位 int main() {int arr1[] { 1,2,3,4,5 };int arr2[] { 0 };memcpy(arr2, arr1, 20);return 0; } 负责拷贝两块独立空间中的数据 如果你想要重叠拷贝的话则请使用memmove 1.2模拟实现 void* my_memcpy(void* dest, const void* src, size_t num) {assert(dest src);void* ret dest;while (num--){*(char*)dest *(char*)src;dest*(char*)dest 1;src*(char*)src 1;}return ret;}代码写完很多人会有疑问为什么要这样子去做char为什么要这样子的指针去强制类型转换是因为这个代码它可以用于任意类型的内存数据所以说他其实并不知道你传进来的数据是哪种类型的我们之前的例子是一个整形你不能用一个整形去做他万一是长整形短整型怎么办呢所以我们要想到一个能解决所有类型的方法那就是把它强制转换成字符新的指针因为一个字符类型他就等于一个字节所以说你每1就等于一个字节每不管哪个类型都可以把它变成一个字节一个字节的走。 把这个数据类型都可以分成这样所以就解决了。 二.memmove重叠拷贝函数 void * memmove ( void * destination, const void * source, size_t num ); 和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。如果源空间和目标空间出现重叠就得使用memmove函数处理。 2.1使用 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; } 2.2模拟实现 这个的模拟实现就比较难了有时候需要从前往后处理有时候又需要从后往前处理所以我们必须来画一个图来思考 当dest的地址小于src的地址我们是从前往后拷还是从后往前拷呢我们可以从图像得出如果我们从后往前拷的话就会覆盖还未考虑的数据所以只能从前往后拷。 同理当dest的地址大于src的时候只能从后往前拷 void* my_memmove(void* dest, const void* src, size_t num) {//assert(dest src);//从前向后拷贝void* ret dest;if (dest src){while (num--){*(char*)src *(char*)dest;dest *(char*)dest 1;src*(char*)src 1;}}//从后向前拷贝else{while (num--){//先找到最后一个数据通过num--不断向前拷贝*((char*)destnum) *((char*)srcnum);}}return ret;} 三.memset内存设置函数 void * memset ( void * ptr, int value, size_t num ); memset是用来设置内存的将内存中的值以字节为单位设置成想要的内容 使用 int main() {char str[] hello world;memset(str, x, 6);printf(str);return 0; }四.memcmp内存比较函数 int memcmp ( const void * ptr1, const void * ptr2, size_t num ); 是按字节数去比较如果在之前就比完了后面就不需要再比了如果源头大于目的返回一个小于0的数 int main() {int arr1[] { 1,2,3,4 };int arr2[] { 1,2,3,5 };int ret memcmp(arr1, arr2, 15);printf(%d, ret);return 0; } 返回-1 总结 熟练的掌握这一系列的库函数可以在做某些题目上省去大量的时间如果你不做题目掌握这些函数也可以增加你阅读别人函数的经验看得懂别人的代码
http://www.dnsts.com.cn/news/91356.html

相关文章:

  • 中山市区做网站公司企业网站制作的书
  • 三明住房和城乡建设部网站上林住房和城乡建设网站
  • 数据查询网站建设找生意项目
  • 商丘哪里做网站比较好如何做产品网站
  • 地方门户网站制作网站开发的具体流程
  • 网站建设名列前茅南昌网站定制开发公司
  • 汽车可以做哪些广告视频网站平板做网站服务器
  • 昆明网站建设技术托管建网页要钱吗
  • 网站开发 行业动态软件开发定制外包服务商
  • 阳光市往房和城乡规划建设局网站长沙传媒公司
  • 做网站要多长时间网页模版之家
  • 网站开发一年多少钱wordpress文章语言切换
  • 灵台县门户网站网站挂马个人问题还是服务商
  • 有哪些做普洱茶网站的自建网站百度
  • 最具价值的网站建设wordpress评论表情插件
  • 怎么查看网站的ftp地址宿州专业网站建设公司
  • 成都网站免费制作网络工程好就业吗
  • 网站编辑步骤有哪些wordpress 积分购物
  • 如何制作个人网站主页做兼职网站的主要参考文献
  • 网站建设云南才力网站app搭建
  • 装饰公司网站制作网页设计培训学校多少
  • 祥云平台做的网站效果好海口澄迈县建设局网站
  • 哪个协会要做网站建设啊手机房屋设计软件
  • ps做图 游戏下载网站有哪些内容东莞购物网站建设
  • 福田网站建设的工具科技布沙发清洗
  • 企业内部网站建设网站做网站需要什么花费
  • 视频做动图的网站网址大全
  • 商城式网站具备哪些功能吗一般纳税人企业所得税优惠
  • 长沙网站建设多少钱网站收录和反链都正常关键词却没有排名的原因
  • 如何做网站内部优化国内正品购物app排行