memset
函数是 C 标准库中的一个函数,用于将一段内存区域的内容设置为指定的值。在将数组元素置为 0 时,它是一个高效且简洁的方法。
#include <stdio.h>
#include <string.h>#define ARRAY_SIZE 10int main() {int arr[ARRAY_SIZE];// 使用memset函数将数组元素置为0memset(arr, 0, sizeof(arr));// 打印数组元素以验证结果for (int i = 0; i < ARRAY_SIZE; i++) {printf("%d ", arr[i]);}printf("\n");return 0;
}
代码解释:
- 包含了
<string.h>
头文件,因为memset
函数在该头文件中声明。
memset(arr, 0, sizeof(arr));
这行代码将数组arr
的所有字节都设置为 0。arr
是要操作的数组的首地址,0
是要设置的值,sizeof(arr)
是要设置的字节数。
- 最后通过循环打印数组元素来验证结果。
第三参数size_t n
该参数表示要设置的字节数,也就是从指针 s
所指向的内存位置开始,连续设置多少个字节为指定的值 c
。在处理数组时,常使用 sizeof
运算符来获取数组的总字节数。
例如,对于一个包含 10 个整数的数组 int arr[10];
,每个整数通常占 4 个字节(取决于具体的编译器和系统),那么整个数组的字节数就是 sizeof(arr)
,在调用 memset
函数时就可将其作为第三个参数传入。