在 C 中使用 struct 和 for 循环创建树

Create a tree using struct and for loops in C

我有一个问题。我正在尝试创建一棵树。完整的代码很大,所以我很难进入这里。因此,下面给出了它的摘要。

struct sample *fn_02(void);
struct sample *fn_03(void);

// Main Function
int main(void) {
    struct sample *tree;

    tree = fn_01();
}

// First Function
struct sample *fn_01(void) {
    for(;;) {
        switch(..) {
            case 1:
                return fn_02();

            case 2:
                return fn_03();
        }
    }
}

// Second Function
struct sample *fn_02(void) {
    struct sample *node;

    return node;
}

// Third Function
struct sample *fn_03(void) {
    struct sample *node;

    return node;
}

我想造一棵树。所以我创建了一个名为 struct sample {}; 的结构并为其创建了 3 个函数。

第一个 (fn_01()) 函数中有一个无限循环,由 fn_02fn_03 编辑的值 return 应该创建一棵树。

这是我遇到的问题:

请问您能推荐另一种解决方案吗?

如果不查看更多代码就很难回答,但您可能可以通过推迟 return 声明来解决这个问题:

struct sample *fn_01(void) {
    sample * s = NULL;
    for(;;) {
        switch(..) {
            case 1:
                s = fn_02();
                break;
            case 2:
                s = fn_03();
                break;
        }
        // Check s and/or do something with it. Return only when relevant
    }
}