C语言内存函数

C语言 memcpy() 函数用于复制内存地址,在C语言中strcpy()函数也可以用来复制,它只能用来复制字符串

memcpy和strcpy区别

  1. strcpy只能复制字符串,memcpy可以复制任意内容
  2. strcpy遇到'\0'结束,memcpy可以指定复制的长度。

语法

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

参数

参数说明
destination 
指定复制内容的目标数组,指针表示。
source指定要复制的数据源数组,指针表示。
num

指定要复制的字节数,例如sizeof(int) sizeof(char)。

返回值

没有返回值

例子

介绍一些例子,了解c语言memcpy()函数的使用方法。

字符串或者说字符数组复制的例子

 #include <stdio.h>
#include<string.h>

int main( )
{
	char src[60] = "yxjc123.com";
	char dest[] = { 0 };
	int i ;

	//将src拷贝到dest
	memcpy(dest, src, 7 * sizeof(char));

	//printf("%s", dest);
	for (i = 0; i < 7; i++)
		printf("%c ", dest[i]);

	getchar();
	return 0;
 
} 

输出:

y x j c 1 2 3

复制int数组的例子

#include <stdio.h>
#include<string.h>

int main( )
{
	int src[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int dest[5] = { 0 };

	int i ;

	//将src拷贝到dest
	memcpy(dest, src, 7 * sizeof(int));

	//printf("%s", dest);
	for (i = 0; i < 7; i++)
		printf("%d ", dest[i]);

	getchar();
	return 0;
 
} 
输出:
1 2 3 4 5 6 7