【C语言】memset 函数用于将一块内存区域中的每个字节设置为特定的值

 memset  函数用于将一块内存区域中的每个字节设置为特定的值

 

image

 

功能:填充内存块。Fill block of memory

memset函数是用来设置内存块的内容的,将内存中指定长度的空间设置为特定的内容。

头文件:<string.h>

参数:

ptr:指针,指向要设置的内存空间的其实地址

value:要设置的值,函数会把value值转换成unsigned char的数据进行设置的。

num:要设置的内存长度,单位是字节

返回值:返回的是要设置的内存空间的起始地址

 

#include <iostream>

int main()
{
    std::cout << "Hello World!\n";


    int a[10];
    for (size_t i = 0; i < 10; i++)
    {
        std::cout << a[i] << std::endl;
    }
}

结果“:

image

 

所以需要赋初值

#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
    int a[10];
    for (size_t i = 0; i < 10; i++)
    {
        a[i] = 0;;
    }

    for (size_t i = 0; i < 10; i++)
    {
        std::cout << a[i] << std::endl;
    }
}

结果:

image

 

 但是这样太麻烦

image

 最终:

#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
    int a[10];

    //第一种方法
    //for (size_t i = 0; i < 10; i++)
    //{
    //    a[i] = 0;;
    //}

    //第二种方法
    memset(a, 0, sizeof(a));

    for (size_t i = 0; i < 10; i++)
    {
        std::cout << a[i] << std::endl;
    }

       /* 初始化函数--memset
        格式:memset(数组名,0,sizeof(数组名));
        调用从string库#include<cstring>
        memset一般使用"0”初始化内存单元,而且通常是给数组或者结构体进行初始化;
        memser是对大的数组或者结构体进行清零初始化的最快方法,因为它是直接对内存进行操作的。*/
}

结果:

image

 

posted @ 2026-01-28 22:23  家煜宝宝  阅读(13)  评论(0)    收藏  举报