上午, 我希望有人在这里 假设我有以下结构或甚至更好的结构数组
struct foo {
int a;
char b[10];
char c;
};
struct foo* bar;
bar = (struct foo*) malloc(sizeof(struct foo)*10);
memset(bar, -1, sizeof(struct foo)*10);
而不是
for (counter = 0; counter < 10; ++counter)
memset(bar[counter],0,sizeof(char)*10);
如何在所有数组中的所有char / b成员数组中将b成员设置为0?
基本上我的问题有点类似于this一个
答案 0 :(得分:1)
我想建议您使用int b[10];
而不是使用std::array<char,10> b;
的C风格数组。
然后你可以这样用零填充它:b.fill(0);
。
如果您需要将存储地址传递给C风格的函数,则可以使用b.data()
执行此操作。
当然,您仍然可以使用b[i]
访问其内容,但如果您想要更安全,请使用b.at(i)
。
答案 1 :(得分:0)
通过将每个数组元素的if (!checkDate(day,month,year)){
成员设置为零,可以将每个数组元素的b
成员设置为零。你几乎就在那里,但是:
b
成员归零。
b