memcpy memset memmove 区别(部分转载)
2014-11-11 11:11
316 查看
memset就是初始化用的
memcpy和memmove()是复制用的。
原型如下:
函数解释:将s中前n个字节(typedefunsignedintsize_t)用ch替换并返回s。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
memcpy和memmove
函数解释:从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
memmove在copy两个有重叠区域的内存时可以保证copy的正确,而memcopy就不行了,但memcopy比memmove的速度要快一些,
2.{
3.char*d=dest;
4.constchar*s=src;
5.int*di;
6.constint*si;
7.intr=n%4;
8.
9.while(r--)
10.*d++=*s++;
11.di=(int*)d;
12.si=(constint*)s;
13.n/=4;
14.while(n--)
15.*di++=*si++;
16.
17.returndest;
18.}
[/code]
memcpy和memmove()是复制用的。
原型如下:
函数解释:将s中前n个字节(typedefunsignedintsize_t)用ch替换并返回s。
memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
memcpy和memmove
函数解释:从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
memmove在copy两个有重叠区域的内存时可以保证copy的正确,而memcopy就不行了,但memcopy比memmove的速度要快一些,
[code]1.void*mymemmove(void*dest,constvoid*src,size_tn)1.void*mymemcpy(void*dest,constvoid*src,size_tn)
2.{
3.chartemp
;
4.inti;
5.char*d=dest;
6.constchar*s=src;
7.
8.for(i=0;i<n;i++)
9.temp[i]=s[i];
10.for(i=0;i<n;i++)
11.d[i]=temp[i];
12.
13.returndest;
14.}
2.{
3.char*d=dest;
4.constchar*s=src;
5.int*di;
6.constint*si;
7.intr=n%4;
8.
9.while(r--)
10.*d++=*s++;
11.di=(int*)d;
12.si=(constint*)s;
13.n/=4;
14.while(n--)
15.*di++=*si++;
16.
17.returndest;
18.}
[/code]
相关文章推荐
- memcpy memmove 区别
- memcpy memmove区别和实现
- memcpy memmove区别和实现
- C/C++ memmove与memcpy的区别及实现
- [转载]memset,memcpy,strcpy三者的区别
- memset,strcpy memcpy memmove
- memcpy memmove区别和实现
- memcpy memmove区别和实现
- memcpy memmove区别
- mem系列函数(memset memcpy memmove) 和str系列函数(strlen strcpy strcmp strcat strstr strtok)
- memcpy memmove 区别
- memcpy memmove区别和实现
- memcpy memmove区别和实现
- memcpy memmove区别和实现
- C的memset,memcpy,strcpy 的区别--转载
- strcpy/memcpy/memmove三者的区别
- memcpy memmove区别和实现
- memcpy memmove区别和实现
- strcpy/memcpy/memmove的区别 【转】
- memcpy memmove区别和实现