当前位置: 首页> 汽车> 行情 > 遵义网站建设网帮你_精准营销论文_模板网站好还是自助建站好_百度关键词工具

遵义网站建设网帮你_精准营销论文_模板网站好还是自助建站好_百度关键词工具

时间:2025/7/12 19:36:46来源:https://blog.csdn.net/2303_77060768/article/details/143619660 浏览次数: 0次
遵义网站建设网帮你_精准营销论文_模板网站好还是自助建站好_百度关键词工具

1.memcpy函数的使用

memcpy 函数是 C 标准库中的一个内存复制函数,定义在 <string.h> 头文件中。它用于将指定大小的内存块从一个地址复制到另一个地址。

void * memcpy ( void * destination, const void * source, size_t num );
  • destination:目标内存地址,即要复制到的位置。
  • source:源内存地址,即要从中复制的位置。
  • num:要复制的字节数。
  • 返回指向目标内存地址 destination 的指针。

注意:

这个函数在遇到 '\0' 的时候并不会停下来。

如果source和destination有任何的重叠,复制的结果都是未定义的。

实例:

#include <stdio.h>
#include <string.h>
struct {
char name[40];
int age;
} person, person_copy;
int main ()
{
char myname[] = "Pierre de Fermat";
memcpy ( person.name, myname, strlen(myname)+1 );
person.age = 46;
memcpy ( &person_copy, &person, sizeof(person) );
printf ("person_copy: %s, %d \n", person_copy.name, person_copy.age );
return 0;
}

运行结果:

 

 2.memcpy函数的模拟实现

#include <stdio.h>
#include <string.h>
void* my_memcpy(void* dst, const void* src, size_t count)
{void* ret = dst;assert(dst);assert(src);/** copy from lower addresses to higher addresses*/while (count--) {*(char*)dst = *(char*)src;dst = (char*)dst + 1;src = (char*)src + 1;}return(ret);
}
struct {char name[40];int age;
} person, person_copy;
int main()
{char myname[] = "Pierre de Fermat";/* using memcpy to copy string: */my_memcpy(person.name, myname, strlen(myname) + 1);person.age = 46;/* using memcpy to copy structure: */my_memcpy(&person_copy, &person, sizeof(person));printf("person_copy: %s, %d \n", person_copy.name, person_copy.age);return 0;
}

关键字:遵义网站建设网帮你_精准营销论文_模板网站好还是自助建站好_百度关键词工具

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: