memset 函数用于将一段内存空间中的每个字节都设为指定的值。其函数原型为:

void *memset(void *s, int c, size_t n);

其中,s是要进行设置的内存空间的首地址;c是要设置的值,通常是一个整数(unsigned char 类型),但是可以是任何整数类型的值;n是要设置的字节数。

下面是一个具体的例子,将一个整型数组中的所有元素都设置为 0:

#include <stdio.h>
#include <string.h>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    memset(arr, 0, sizeof(arr));
    for (int i = 0; i < 5; i++) {
        printf('%d ', arr[i]);
    }
    return 0;
}

输出结果为:

0 0 0 0 0

在该例中,我们使用了 memset 函数将数组 arr 中的所有元素都设置为 0。由于 arr 是一个整型数组,所以我们需要将要设置的值 c 转换为 unsigned char 类型。由于数组 arr 中一共有 5 个元素,每个元素占用 4 个字节(因为 int 类型在大多数机器上占用 4 个字节),所以要设置的字节数为 5 * 4 = 20。因此,我们调用 memset 函数时,将 n 的值设为 20。

C语言 memset 函数详解及示例 - 初始化内存空间

原文地址: https://www.cveoy.top/t/topic/n1R2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录