首页 > 代码库 > [C/C++基础] C语言常用函数memset的使用方法

[C/C++基础] C语言常用函数memset的使用方法

函数声明:void *memset(void *s, int ch, size_t n);

用途:为一段内存的每一个字节都赋予ch所代表的值,该值采用ASCII编码。

所属函数库:<memory.h> 或者 <string.h>

参数:(1)s,开始内存的地址;(2)ch和n,从地址s开始,在之后的n字节长度内,把每一个字节的值都赋值为n。

使用举例:

代码如下

 

编译运行结果

说明:

该函数最常用的用途就是将一段新分配的内存初始化为0。例如我们代码的第9-10行。

需要注意的是,函数第二个参数的值代表的是即将设置的每个字节的值,因此对于第二个参数不是0的情况要格外小心。例如我们代码的第12-13行。intArray[0]本来是一个四字节的整数,它的每一个字节都将变成1。第12行运行完毕,intArray[0]的内容如下

(二进制)00000001 00000001 00000001 00000001 = (十进制)16843009

这也是为什么第13行输出的结果是16843009。