使用 memset()
函数
#define SIZE 100
// eg1. 初始化一个大小为 100 的字符数组
// memset 执行后的效果是将 test 数组的元素全部初始化为 0
void func1()
{
char test[SIZE];
memset(test, 0, SIZE);
}
// eg2. 初始化一个 int 类型的数组
void func2()
{
int test1[SIZE];
memset(test1, 0, sizeof(int) * SIZE); // 这里的 SIZE 是数组大小, 需要多少替换下就可以了
}
C 语言库函数 - memset()
使用 memset()
需要引入头文件 #include <string.h>
描述
C 库函数 void *memset(void *str, int c, size_t n)
复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
声明
void *memset(void *str, int c, size_t n)
参数
- str -- 指向要填充的内存块。
- c -- 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。
- n -- 要被设置为该值的字符数。
返回值
该值返回一个指向存储区 str 的指针。
使用 {0}
初始化
这种方法可能存在兼容性问题. 效率和 memset
类似, 较高.
#define SIZE 100
void func()
{
char test[SIZE] = {0};
}
使用 for
循环
效率最低.
#define SIZE 100
void func()
{
int i = 0;
char test[SIZE];
for (i = 0; i < SIZE; i++)
{
test[i] = 0;
}
}
参考: https://www.cnblogs.com/fnlingnzb-learner/p/8057257.html