c - 重置字符数组值

标签 c arrays string

我在全局范围内声明了以下内容

    char a[20] = " ";
    char b[20] = " ";
    char c[20] = " ";
    char d[20] = " ";

我需要在方法中将这些变量设置为 NULL。所以我使用

void mymethod()
{
        a[10]=" ";
        b[10]=" ";
        c[10]=" ";
        d[10]=" ";
}

但是变量仍然保留其旧值。我做错了什么?

最佳答案

char a[20] = "";

这是在声明期间初始化数组。

鉴于

a[10] = "";

这实际上是为数组中的元素设置一个值。

尝试使用

memset(a,0,sizeof(a));

在函数中初始化数组。

关于c - 重置字符数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35570782/

相关文章:

c - Linux 中 C 中的递归文件删除

c - 打印字符串有困难

arrays - 函数内结构数组的全局作用域 - Swift

c - 从数组中添加和删除元素

javascript - 双引号之间的数字

java - 匹配字符串中第一个逗号之后的所有内容

c - C 中不需要的换行符

c - Do...While 和 getche() 在 C 中

c - Dev C++ 数组问题

string - 如何格式化字符串以用作 MATLAB 中的结构字段名称?