簡體   English   中英

C 中的結構調用中的結構

[英]Struct inside a struct call in C

我得到了這個結構,我想用一個好方法來調用它!

struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
};

我為調用我的結構制作了這段代碼:

struct TreeNode left2 = {
            4
};
struct TreeNode right2 = {
            5
};
struct TreeNode left = {
        2,
        &left2,
        &right2         
};
struct TreeNode right = {
        3
};
struct TreeNode binary = {
    1,
    &left,
    &right

};

但這有點響亮,有沒有另一種方法(不改變結構),最簡單的方法?

您可以將所有節點放入一個數組中(我將根節點放入 index#0):


struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    };

struct TreeNode all[] = {
        { 1, &all[1], &all[2]}, // Binary(root)
        { 2, &all[3], &all[4]}, // Left
        { 3, NULL, NULL},       // Right
        { 4, NULL, NULL},       // Left2
        { 5, NULL, NULL},       // Right2
        };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM