首页 > 其他分享 >C学习笔记:memcpy与memmove函数探索

C学习笔记:memcpy与memmove函数探索

时间:2022-08-25 00:15:37浏览次数:89  
标签:count src memmove void des 笔记 char arr1 memcpy

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void my_memcpy(void* des,const void* src,size_t k)
{
	while (k--)
	{
		*(char*)des = *(char*)src;
		++(char*)src;
		++(char*)des;
	}	
}
void* my_memmove(void* des, void* src,size_t count)
{
	const char* p = src;
	if (src > des)
	{
		while (count--)
		{
			*(char*)des = *(char*)src;
			++(char*)src;
			++(char*)des;
		}
	}
	else
	{
		while (count--)
		{
			*((char*)des + count) = *((char*)src + count); //倒序交换,count从19开始
		}
	}
	return p;
}
int main()
{
	int arr1[] = { 1,2,3,4,5,6,7,8,9,10 };
	int arr2[10] = { 0 };
	//my_memcpy(arr2, arr1, sizeof(arr1));
	void* ret = my_memmove(arr1+2, arr1,20);
	for(int i =0;i<10;printf("%d ",arr1[i++]));
	return 0;
}

 

标签:count,src,memmove,void,des,笔记,char,arr1,memcpy
From: https://www.cnblogs.com/godex/p/16622750.html

相关文章

  • 824笔记(闭包,递归,浅/深拷贝)
    闭包闭包:有权访问另一个函数作用域中变量的函数,一个作用域可以访问另外一个函数内部的局部变量作用:延伸了变量的作用范围特性:变量或者参数不会被垃圾回收机制回收函......
  • Kubernetes学习笔记(二十一):备份
    kubectlgetall--all-namespaces-oyaml>all-deploy-services.yaml与其备份单个资源,不如备份ETCD:etcd.service--data-dir=/var/lib/etcdetcd也自带快照功能ET......
  • .net笔记
    分库分表-分库(功能拆分):数据库的线程是有限的,多个数据库增加了线程资源,这就是分库分表的目的分库分表-分表(数据拆分):当一个表超过2kw数据后,查询会变慢,索引会失去效用,此时分......
  • 操作系统学习笔记5 | 用户级线程 && 内核级线程
    在上一部分中,我们了解到操作系统实现多进程图像需要组织、切换、考虑进程之间的影响,组织就是用PCB的队列实现,用到了一些简单的数据结构知识。而本部分重点就是进程之间的切......
  • 双流网络two stream network学习笔记草稿(待整理)
    卷积神经网络比较擅长学习局部的特征,而非物体移动的规律先将运动信息抽取好(光流),再让CNN去学习这种(运动信息到动作分类间的)映射空间流的输入是单帧图片,而时间流的输入是一系......
  • Link-Cut-Tree 学习笔记
    Link-Cut-Tree是著名的Tarjan教授发明的数据结构,利用动态树,我们珂以解决很多复杂的树上操作。先看一道例题:严格次小生成树有人会问了,这不是裸的树上倍增吗?我想说的是......
  • C++ Primer阅读笔记
    如何设置GNU编译器对C++11的支持运行编译器的时候指定-std=C++11参数黑窗口下编译运行源文件//windows下gcctest.c-otest//-o表示指定可执行文件的文件名.\tes......
  • C++Primer阅读笔记续
    chapter13.拷贝控制概述控制类类型的对象的拷贝,赋值,移动,销毁包括五种特殊的成员函数(这些称为拷贝控制成员):拷贝构造函数拷贝赋值运算符移动构造函数移动赋值运算符......
  • java学习笔记014 枚举类
    1.比较器Comparable接口自然排序 @Override publicintcompareTo(Tt){ //自定义比较规则 //要求:this>t,返回正整数 // this==t,返回0 // this<t,返......
  • Spring 源码学习笔记10——Spring AOP
    Spring源码学习笔记10——SpringAOP参考书籍《Spring技术内幕》SpringAOP的实现章节书有点老,但是里面一些概念还是总结比较到位源码基于Spring-aop5.3.22可能和旧......