[英]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.