memset函数

Posted zdl2234

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memset函数相关的知识,希望对你有一定的参考价值。

memset是计算机中C/C++语言初始化函数。作用是将某一块内存中的内容全部设置为指定的值, 这个函数通常为新申请的内存做初始化工作。

函数介绍:头文件:<memory.h>或<string.h>

     void *memset(void *s, int ch, size_t n);  //函数解释:将s中当前位置后面的n个字节 用 ch 替换并返回 s 。

注意:1.函数按字节对内存块进行填充,所以ch超过一字节,将会按照最后一个字节填充,例如:int类型 -1的二进制码为(11111111 11111111 11111111 11111111),它的后八位为(11111111),

则对所有空间填充(11111111);而511的二进制码为(00000000 00000000 00000001 11111111)后八位都为(11111111),则填充也为(11111111),所以-1和511的填充结果一样;所以对

于ch为int类型一般只用0或-1填充;

memset函数一般应用:

1. 对数组进行初始化

int a[10][10];
memset(a,0,sizeof(a));

2. 清空结构体变量

struct sample_struct
{
    char csName[16];
    int iSeq;
    int iType;
};

struct sample_struct stTest;

memset(&stTest,0,sizeof(sample_struct));

 


以上是关于memset函数的主要内容,如果未能解决你的问题,请参考以下文章

与memset函数等效的Linux内核是什么?

c语言memset()函数

函数“memset”的隐式声明 [-Wimplicit-function-declaration] [重复]

c/c++中对于memset的个人理解

memset()函数

请教高手:memset函数详细讲解?