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

网站建设数据处理宁远网站建设

网站建设数据处理,宁远网站建设,网站制作郑州网站制作,项目组网站建设方案书C语言学习 内存函数 友情链接&#xff1a;C语言专栏 文章目录C语言学习一、memcpy 使用和模拟实现二、memmove 使用附录上文链接专栏一、memcpy 使用和模拟实现 memcpy是C语言标准库中的一个函数&#xff0c;用于将一段内存中的内容复制到另一段内存中。头文件是<string.h…

C语言学习

内存函数
友情链接:C语言专栏


文章目录

  • C语言学习
  • 一、memcpy 使用和模拟实现
  • 二、memmove 使用
  • 附录
    • 上文链接
    • 专栏


一、memcpy 使用和模拟实现

memcpy是C语言标准库中的一个函数,用于将一段内存中的内容复制到另一段内存中。头文件是<string.h>
函数原型:

void * memcpy ( void * dest, const void * src, size_t num );

解释:

  • 函数memcpy从src的位置开始向后复制num个字节的数据到dest指向的内存位置。
  • 这个函数在遇到 ‘\0’ 的时候并不会停下来。
  • 如果src和dest有任何的重叠,复制的结果都是未定义的。
  • 返回目标内存的指针,也就是dest的值;

使用示例:

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

输出想必都想到了:
在这里插入图片描述
那万一存在重叠的内存,怎么办?
不用着急,对于重叠的内存,交给memmove来处理。
memcpy的模拟实现:

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

实现很简单,就逐字节的复制。

二、memmove 使用

memmove是 语言标准库中的一个函数,用于将指定数量的字节从源内存块复制到目标内存块。与memcpy不同,memmove可以安全地处理内存重叠的情况,避免数据损坏。头文件是<string.h>
函数原型:

void * memmove ( void * dest, const void * src, size_t num );

说明:

  • 和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。
  • 如果源空间和目标空间出现重叠,就得使用memmove函数处理。

使用示例:

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

输出:
在这里插入图片描述


附录

上文链接

《字符串与字符函数详解(下)》

专栏

C语言专栏

http://www.dtcms.com/a/436714.html

相关文章:

  • 公司网站设计与制商城类网站主要分为哪些模块
  • 友山建站优化wordpress wp_video_shortcode
  • 个人网站建设第一步网站常见的风格
  • 使用vue做的商城网站seo承诺排名的公司
  • 济南定机票网站建设广东建设协会网站
  • 网站200m虚拟主机能放多少东西贵州省交通建设工程质量监督局网站
  • 建立微网站深圳住房和建设局网站哪里预约
  • 网站设计代码在青海省住房和城乡建设厅网站
  • 查询网站最新域名wordpress旅游社区
  • 怎样做网站域名300元建站
  • 为什么要进行网站备案正规网站建设官网
  • ssc网站建设担保交易2018江苏省海门市建设局网站
  • 做竞价的网站需要做外部链接吗最后的目的是什么
  • 佛山市外贸网站建设价格电脑搭建网站
  • 精品课程网站设计与实现开题报告wordpress创建标签页
  • 如何做免费域名网站制作微信公众号的步骤
  • 个人网站怎么建立要多少钱世界工厂采购网登录
  • 智能建站吧贵阳装饰装修公司网站
  • 怎么用手机制作网站福建外贸网站建设
  • 成都专业的网站建设制作公司哪家好廊坊网站关键词排名
  • 做网站还要数据库吗产品网络推广怎样做
  • 响应式网站建设有哪些好处免费优化网站建设
  • 湖北省利川市建设局网站郑青松找谁做的网站
  • 网站性能优化方案网上推广哪家好
  • 做类似淘宝网站怎么做网站前端工资
  • 宁波网站排名提升科技大盗
  • 网站备案 优帮云wordpress主题如何修改logo
  • 深圳品牌网站设计公司价格网站的宽度
  • 常州专业网站建设公司天津展示型网站建设外包
  • 学校网站建设报价是多少青岛的做网站公司