C语言内存函数(memcpy,memmove,memset)

        在学习字符串的过程中我们使用过strcpy,strncpy与strstr等一系列可以对字符串进行操作的函数,但是他们有着一定的局限性就是只能操作字符串,不可以对其他类型的数据进行操作。

一、memcpy

        memcpy的使用方式如下:

void * memcopy(void * destination, const void * source , size_t num );

这个函数被包含于头文件<string.h>,这个函数的作用是从source的位置开始向后复制num个字节的数据到destination指向的内存位置,这个函数在遇到‘\0’的时候并不会停下来,如果source和destination有任何的重叠,复制的结果都是未定义的。

二、memmove

        对于重叠的内存,交给memmove来处理,这个函数的作用是从source的位置开始向后复制num个字节的数据到destination指向的内存位置,,同样的,使用这个函数要包含<string.h>,   memmove的使用方法如下:

void * memmove ( void * destination, const void * source, size_t num )

在使用的时候我们要注意后面的num是字节大小,所以在交换内存的时候一定要转换。

三、memset

        memset可以用来设置内存,将内存中的值以字节为单位设置成想要内容,他的用法和格式如下:

void * memset ( void * ptr, int value, size_t num )

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值