C中memcpy函数用法

一、函数原型数组

void *memcpy(void *destin,void *source,unsigned n);函数

其中,spa

  • destin表明用于存储复制内容的目标数组,类型强制转换为void*指针。
  • source表示指向要复制的数据源,类型`强制转换为void*指针。
  • n表示要被复制的字节数

该函数返回一个指向目标存储区destin的指针。若是destin存在数据,将会被覆盖。该函数存在与头文件string.h中。指针

二、实现的功能code

从source所指的内存地址的起始位置开始拷贝n个字节到目标destin所指的内存地址的起始位置中。blog

三、memcpy与strcpy区别:内存

  • strcpy只能复制字符串,而memcpy能够复制任意内容,如:字符数组、整形、结构体、类等
  • strcpy不须要指定长度,它遇到被复制字符的串结束符“\0”才结束,因此容易溢出。memcpy则根据第三个参数决定复制的长度。
  • 一般在复制字符串时用strcpy,而须要复制其余类型数据时则通常用memcpy。

四、程序案例:字符串

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 9
int main()
{

        char* a=(char*)malloc(sizeof(char)*N);
        char* b="Who are you?";
        memcpy(a,b,N);
        printf("%s\n",a);

        return 0;
}

运行结果:原型

Who are y

string

相关文章
相关标签/搜索