#include<stdio.h>
#include<assert.h>
//模拟实现memcpy   void *memcpy(void *str1, const void *str2, size_t n)
void* my_memcpy(void* str1, const void* str2, int n)
{
	void* ret = str1;
	assert(str1 && str2);
	while (n--)
	{
		*(char*)ret = *(char*)str2;
		ret = (char*)ret + 1;
		str2 = (char*)str2 + 1;
	}


}
int main()
{
	int arr1[3] = {0};
	int arr2[] = { 4,5,6 };
	my_memcpy(arr1, arr2, 9);
	for (int i = 0; i < 3; i++)
	{
		printf("%d ", arr1[i]);
}
	return 0;
}

(该函数返回一个指向目标存储区 str1 的指针。)

Logo

一站式 AI 云服务平台

更多推荐