当前位置:   article > 正文

c语言中结构体中默认值,C Struct中的缺省值

c语言结构体默认值

C Struct中的缺省值

我有这样的数据结构:

struct foo {

int id;

int路由;

int backup_route;

int current_route;

}

和一个叫做update()的函数,用来请求它的变化。

更新(42,dont_care,dont_care,new_route);

这真的很长,如果我添加一些东西的结构,我必须添加一个'dont_care'每EVERY更新(…)。

我正在考虑传递一个结构,而不是事先在“dont_care”中填充结构,而不是在函数调用中拼写。 我可以创build结构的默认值不考虑的地方,只是设置我关心的领域之后,我声明它作为一个局部variables?

struct foo bar = {.id = 42,.current_route = new_route};

更新(巴);

什么是最优雅的方式来传递我想expression更新function的信息?

我希望其他所有的东西都默认为-1('不关心'的密码)

虽然macros和/或函数(如已经提到的)将会工作(并且可能具有其他的积极效果(即,debugging钩子)),但是它们比需要的更复杂; 最简单也可能是最优雅的解决scheme是只定义一个用于variables初始化的常量:

const struct foo FOO_DONT_CARE = { // or maybe FOO_DEFAULT or something dont_care, dont_care, dont_c

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/143083?site
推荐阅读
相关标签
  

闽ICP备14008679号