gpt4 book ai didi

C语言内存操作函数详解

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C语言内存操作函数详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

头文件:#include<memory.h>

  。

1.memcpy

作用:内存拷贝 。

函数原型:

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

使用:

使用格式:memcpy(目的地,原,想操作内存大小(单位字节)) 。

C语言内存操作函数详解

把 "参数2" 起始的 "参数3" 个字节 内容拷贝到 "参数1 ' 。

memecpy函数类似于strncpy.

例:

#include <memory.h>#include <string.h>#include <stdio.h>int main(){	int aa[] = { 1,2,3,4 };	int bb[10] = { 0 };	memcpy(bb, aa, 4 * sizeof(int));//把aa数组中4*4(每个int类型是4字节)内容拷贝到bb数组	for (int i = 0; i < 10; i++) //打印bb数组全部数据	{		printf("%d ", bb[i]);	}	}

最后bb字符串中前4*4个字节的内容被改为aa的内容 。

C语言内存操作函数详解

注意 :memcpy不能拷贝重叠内存.

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

输出:

C语言内存操作函数详解

拷贝重叠内存会出现这样的问题.

  。

2.memmove

作用:内存拷贝(可拷贝重叠内存) 。

原型:

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

使用与memcpy一样,只是memmove可以拷贝重叠内存 。

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

出:

C语言内存操作函数详解

同样的代码使用memmove就可以. 。

  。

3.memcmp

作用:内存比较 。

函数原型:

int memcmp( const void *buf1, const void *buf2, size_t count );

使用:

使用格式:memcmp(地址1,地址2,想要比较的内存大小 单位bit) 。

C语言内存操作函数详解

逐字节比较内存大小, 。

逐字节一对一对比较!! 。

返回值有三种情况:

<0 “参数1” 与 “参数2” 逐字节比较时遇到的第一对不同的内存时 “参数1” 中数据 < “参数2”.

=0 “参数1” 与 “参数2” 中的前“ 参数” 三个字节的内容完全相等.

>0 “参数1” 与 “参数2” 逐字节比较时遇到的第一对不同的内存时 “参数1” 中数据 > “参数2”.

  。

4.memset

作用:内存设置 。

函数原型:

void *memset( void *dest, int c, size_t count );

使用:

使用格式:memset(地址,一个数,设置多少字节) 。

例:

#include <memory.h>int main(){	int a[] = {1,2,3,4,5};	memset(a, 1, 20);//把从a开始的前二十个字节内容改成1}

结果:

C语言内存操作函数详解

  。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我的更多内容! 。

原文链接:https://blog.csdn.net/wwhdsg/article/details/120740424 。

最后此篇关于C语言内存操作函数详解的文章就讲到这里了,如果你想了解更多关于C语言内存操作函数详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com