Zeromemory && memset

来源:互联网 发布:人工智能利弊作文 编辑:程序博客网 时间:2024/05/16 07:49

1、
void ZeroMemory( PVOID Destination, SIZE_T Length);
Destination :指向一块准备用0来填充的内存区域的开始地址。
Length :准备用0来填充的内存区域的大小,按字节来计算.
ZeroMemory只是将指定的内存块清零。
2、
void *memset(void *s, int ch, size_t n);
将s中前n个字节(typedef unsigned int size_t )用ch替换并返回s。
memset作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。

3、
ZeroMemory和memset的区别:

1、ZeroMemory是微软的SDK提供的,memset是属于C Run-time Library提供的。因此ZeroMemory只能用于Windows系统,而memset还可用于其他系统。
2、ZeroMemory是一个宏,只是用于把一段内存的内容置零,内部其实是用 memset实现的,而memset除了对内存进行清零操作,还可以将内存置成别的字符。
3、如果程序是Win32程序而且不想连接c运行时库,就用ZeroMemory;如果需要跨平台,就用memset。
所以,如果ZeroMemory和memset用于清零操作,其本质是一样的。

1 0