【问题标题】:set the char array to all zero values (in C)将 char 数组设置为全零值(在 C 中)
【发布时间】:2016-04-16 11:29:30
【问题描述】:

如何将 vars 数组设置为全零“0”值?

typedef char array_t[100];

void
setvars(array_t vars[], int lens[]) {
/*vars : 10 numbers
lens : the length of 10 numbers in vars
*/
.
.
.
}

感谢您的帮助。

【问题讨论】:

  • 使用循环或memset。请不要问怎么做。
  • array_t 的 typedef 几乎肯定不是您想要的。特别是,您不能按值传递该类型,因为当用作函数参数时,它会“衰减”为 char *

标签: c arrays initialization character array-initialization


【解决方案1】:

只需使用memset():

void
setvars(array_t *vars, size_t num, size_t *len) {
    size_t i;
    for(i = 0; i < num; i++)
    {
        memset(vars[i], 0, len[i]);
    }
}

其中numlen 的长度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-08
    • 2023-03-07
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    • 2014-02-16
    相关资源
    最近更新 更多