当前位置: 首页 > news >正文

网站开发新动力青岛seo推广专员

网站开发新动力,青岛seo推广专员,南庄九江网站建设,网站建设合优&#x1f495;"痛苦难以避免&#xff0c;而磨难可以选择。"-->村上春树&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;数据在内存中的存储 内存函数就是管理内存数据的函数&#xff0c;包含于头文件<string.h>中 1.memcpy函数-->内存…

 💕"痛苦难以避免,而磨难可以选择。"-->村上春树💕

作者:Mylvzi 

 文章主要内容:数据在内存中的存储 

内存函数就是管理内存数据的函数,包含于头文件<string.h>中

1.memcpy函数-->内存复制函数(处理不重叠内存的拷贝)

 作用:将src中前num个字节拷贝到dest中,并返回dest的地址(和strcpy函数类似)

注意:传递的函数指针不确定,所以使用void*(通用指针类型)

对于void*有四个方面需要注意:

1.不能直接解引用,必须进行强制类型转换

2.不能进行指针运算

3.可以进行指针之间的比大小操作

4.强制类型转换只是一种临时转换,并不会改变原先的数据类型

 实例1:

 实例2:

 模拟实现memcpy函数

//代码模拟实现my_memcp函数
void* my_memcpy(void* dest, const void* src, size_t num)
{assert(dest && src);//断言void* ret = dest;//使用ret指针记录dest指针的起始位置while (num--){*(char*)dest = *(char*)src;//强制类型转换为char*,便于一个字节一个字节交换dest=(char*)dest+1;src=(char*)src+1;}return ret;
}
int main()
{int arr1[] = { 1,2,3,4,5 };//数组的大小为20byteint arr2[10] = { 0 };my_memcpy(arr2, arr1, 20);//注意第三个参数size_num是以字节为单位的int i = 0;for (i = 0; i < 10; i++){printf("%d ", arr2[i]);}return 0;
}

 注意:memcpy函数是处理不重叠内存的拷贝,也就是不能是同一个数组,不占用相同的一块内存,否则在拷贝的过程中会把原有数据覆盖,导致拷贝错误(虽然在vs中却可以处理,但是在其他编译器上未必支持)

 2.memmove函数-->内存拷贝函数(处理重叠内存的拷贝)

 模拟实现memmove函数(重要)

//2.memmove函数-->void* memmove(void* dest ,const void* src, size_t num)
//处理内存重叠的内存之间的拷贝
//理解为:将dest和src强行分离为两个独立的内存
//参数和memcpy相同//模拟实现memove函数
//基本逻辑是从src的某个位置开始,将之后的num个字节的元素赋给dest;
//但可能出现src的元素未被拷贝之前就已经被覆盖(在src和dest重合的部分)
void* my_memmove(void* dest, const void* src, size_t num)
{assert(dest && src);//断言void* ret = dest;//src>dest-->从前往后拷贝if (src > dest){while (num--){*(char*)dest = *(char*)src;dest = (char*)dest + 1;src = (char*)src + 1;}}//src<dest-->从后往前拷贝(包括src和dest不交叉的情况)else{while (num--){*((char*)dest + num) = *((char*)src + num);dest = (char*)dest + 1;src = (char*)src + 1;}}return ret;
}
int main()
{int arr1[] = { 1,2,3,4,5,6,7,8,9,10 };my_memmove(arr1, arr1+2, 20);int i = 0;		for (i = 0; i < 10; i++){printf("%d ", arr1[i]);}return 0;
}

画图模拟:

3.memcmp-->内存比较函数 

比较两个内存之间前num个字节的大小关系;

ptr1>ptr2-->返回大于0的数字

ptr1<ptr2-->返回小于0的数字

ptr1=ptr2-->返回0 

实例1:

4.memset-->内存设置函数 

将ptr中前num个字节的元素替换为设置的value; 

实例1:  

http://www.yayakq.cn/news/341214/

相关文章:

  • 惠州网站建设公司哪家好企业网站的制作
  • 大学帮学校做网站做网站用vs还是dw
  • 静态网站没有后台开发公司介绍
  • 网站制作公司 云南创意设计源杂志
  • 比较好的网站建设公司电话网站开发服务属于什么行业
  • 根据图片做网站用什么如何备份wordpress站点
  • 做电影网站为什么要数据库网址导航怎么更改
  • 手机商城 手机网站建设多少钱排名好的锦州网站建设
  • 网页制作是建网站的第几步穿衣打扮 wordpress
  • 建设外贸网站案例银川做网站公司
  • 青岛做网站的公司哪个比较好网页模板下载网址
  • 宁波网站搭建公司定制狼窝网站更新升级通知
  • 浏览器一打开就是2345网址导航seo快速排名系统
  • wordlink网站开发网站建设项目清单价格
  • 张家界网站建设多少钱网站建设方案 市场分析
  • 企业网站功能模块设计网站服务器怎么配置
  • 罗城建设局网站六安市百姓畅言六安杂谈
  • 手机app网站模板下载海珠建网站公
  • 做网站 需要买云服务器吗洛阳专业做网站公司
  • 怎么建网站链接中国企业500强江阴有几家
  • 深圳网站建设ejaketwordpress中英文网站
  • 河南县公司网站建设杭州网站
  • 中国建设网站齐齐哈尔市昆明智能网站推广价格
  • 我想做网站服务器选用什么网站备案的好处有哪些
  • 网站建设方案书人员资金安排网站还是app
  • 网站标签怎么改网站建设中提示页面下载
  • 怎么查一个网站的域名高品质的网站开发
  • 做防水施工 上什么网站找电商小程序制作一个需要多少钱
  • 网站推广优化怎么做最好短视频素材网
  • 园艺建设网站网站建设优化服务机构