当我尝试在这段代码上使用 GNU 缩进时:
tree_node_s *t = GC_MALLOC_ATOMIC (sizeof (tree_node_s));
*t = (tree_node_s){.val = n,.h = 0};
Run Code Online (Sandbox Code Playgroud)
我明白了:
tree_node_s *t = GC_MALLOC_ATOMIC (sizeof (tree_node_s));
*t = (tree_node_s)
{
.val = n,.h = 0};
Run Code Online (Sandbox Code Playgroud)
显然,这看起来非常糟糕,而且显然不是一个结构体文字。我仅将默认选项传递给 GNU 缩进(意味着 GNU 风格)。我是否可以传递一个选项,让它以一种不会看起来那么可怕的方式处理这种情况?
use*_*249 -1
如果“tree_node_s”不仅仅是一个内在变量(如 int、char 等),那么发布的代码将无法正常工作
这是因为从结构分配结构仅在创建接收结构时才有效。在发布的代码中,接收结构已经创建,因此不会执行正确的分配。
建议:
t->val = n;
t->h = 0;
Run Code Online (Sandbox Code Playgroud)
也许不太优雅,但非常可靠。