- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux库memcpy函数实现.PDF
Linux库memcpy函数实现 Spark大数据博客 - Linux库memcpy函数实现 memcpy函数在面试中很容易被问到如何去实现。memcpy函数是内存拷贝函数,用于将一段内 存空间数据拷贝到另一段内存空间中,但是它和memmove函数不同的是,它对内存空间有要求 的,dest和src所指向的内存空间不能重叠,否则的数据是错误的。例如: src所指向的内存空间后面部分数据被新拷贝的数据给覆盖了,所以拷贝到最后,数据肯定不是原 来的数据。 如果内存空间像上图所示,就不会导致数据拷贝错误这种情况,也就说你在使用这个函数之前, 还需要做一个判断,如果dest src你才能使用这个函数,不过完全没有必要,你直接使用另外一 个函数memmove函数就可以了。基于上面的一些原因,不建议在程序中使用memcpy函数,而 直接用memmove代替。 函数原型: #includestring.h void *memcpy(void *s1, const void *s2, size_t n); 1 / 3 Linux库memcpy函数实现 Spark大数据博客 - The memcpy() function copies n bytes from the object pointed to by s2 into the object pointed to by s1. If copying takes place between objects that overlap, the behaviour is undefined. 它的实现: #includestring.h void * memcpy(void *s1, const void *s2, register size_t n) { register char *p1 = s1; register const char *p2 = s2; if (n) { n++; while (--n 0) { *p1++ = *p2++; } } return s1; } 使用memcpy函数需要注意: 1. s1和s2所指内存区域不能重叠,函数返回指向s1的指针; 2. strcpy和memcpy主要有以下3方面的区别。 1)、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符 数组、整型、结构体、类等。 2)、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符\0才结束 ,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。 3)、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用mem cpy 3. 如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n )。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的 地址。 4. s1和s2都不一定是数组,任意的可读写的空间均可。 本博客文章除特别声明,全部都是原创! 禁止个人和公司转载本文、谢谢理解:过往记忆(/) 2 / 3 Linux库memcpy函数实现 Spark大数据博客 -
您可能关注的文档
- Gbase8tTimeSeries的SQL函数的使用手册.ppt[兼容模式].PDF
- GBC-40.5型高压开关柜.PDF
- GEMMA是Fapas旗下食品转基因检测的能.PDF
- GenStar细胞因子ELISA试剂盒.PDF
- GE自动化系统在油田地面设施监控中的应用.PDF
- GGYAj电除尘用高频高压整流设备使用说明书.pdf
- GJ系列密封式化验制样粉碎机说明书.PDF
- GRADE方法及系统评价的质量评价.PDF
- G系列GMGB型机械隔膜计量泵.PDF
- H3C大数据平台产品彩页.PDF
- 2025年智能电网柔性直流输电技术在我国西部地区应用前景.docx
- 7.2 弹力-人教版八年级物理下册.pptx
- 2025年智能电网柔性直流输电技术在智能变电站中的应用研究.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化存储中的应用.docx
- 2025年智能电网柔性直流输电技术在新能源并网中的应用研究.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化控制中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化预测中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化服务中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化运维中的应用.docx
- 2025年智能电网柔性直流输电技术智能化保护系统研究.docx
有哪些信誉好的足球投注网站
文档评论(0)