头文件:

string.h

函数的声明:

void* memcpy(void* dest,const void* src,size_t count)

返回值 :

返回指向dest的指针

用法:

从src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中

注:void*有返回值,void无返回值

例子:

#include<stdio.h>
#include<string.h>
int main() {
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int arr1[5] = { 9,8,7,6,5 };
	memcpy(arr , arr1 , 20);
	int i = 0;
	for (i = 0;i < 10;i++) {
		printf("%d ", arr[i]);
	}
	return 0;
}

 

 

函数的实现:

#include<assert.h>
void* my_memcpy(void* dest, const void* src, size_t count) {
	assert(dest && src);
	void* ret = dest;
	while (count--) {
		*(char*)dest = *(char*)src;
		dest = (char*)dest + 1;
		src = (char*)src + 1;
	}
	return ret;
}

Logo

一站式 AI 云服务平台

更多推荐