我有一个这样的数据结构:
struct foo {
int id;
int route;
int backup_route;
int current_route;
}
以及一个名为 update ()的函数,用于请求对其进行更改。
update(42, dont_care, dont_care, new_route);
这真的很长,如果我添加一些东西到结构,我必须添加一个“不 _ care”到每个调用来更新(...)。
我正在考虑将它传递给一个 struct,但是事先用“ don _ care”填充 struct 比仅仅在函数调用中将其拼写出来更加乏味。我是否可以在某个地方创建带有默认值 do nt care 的 struct,并在将其声明为局部变量后只设置我关心的字段?
struct foo bar = { .id = 42, .current_route = new_route };
update(&bar);
将我希望表达的信息传递给 update 函数的最优雅的方式是什么?
并且我希望所有其他内容都默认为 -1(“ do nt care”的秘密代码)