我有这样的数据结构:
struct foo {
int id;
int route;
int backup_route;
int current_route;
}
以及一个名为update()的函数,用于请求对其进行更改.
update(42, dont_care, dont_care, new_route);
这真的很长,如果我在结构中添加一些内容,我必须在每次调用更新(...)时添加'dont_care'.
我正在考虑将结构传递给它,但事先用'dont_care'填充结构比在函数调用中拼写它更加繁琐.我可以使用默认值dont care在某处创建结构,并在我将其声明为局部变量后设置我关心的字段吗?
struct foo bar = { .id = 42, .current_route = new_route };
update(&bar);
将我希望表达的信息传递给更新功能的最优雅的方法是什么?
我希望其他一切都默认为-1("不关心"的密码)
我想用C创建一个结构,初始值如下:
typedef struct {
int id = 0;
char *name = "none";
} employee;
Run Code Online (Sandbox Code Playgroud)
我知道以上是不可能的,有没有其他方法可以做到这一点?