gpt4 book ai didi

c - C中struct的双指针是什么意思

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:36 24 4
gpt4 key购买 nike

我在理解这个结构时遇到问题,很想得到一个清楚的解释。

typedef struct exp{
int x;
struct exp *parent;
struct exp **children;
}

parent 和 child 是什么意思?“parent”是这个结构的数组? children 的意思是什么?这是一个数组数组?!实在看不懂。。

最后一件事,如果我添加一个元素,它会变成某个父元素的特定子元素,我怎样才能到达一个父元素的所有子元素?它不应该是一个结构“List”(使用 next 等 .. 吗?)?

谢谢!!

最佳答案

这张图片展示了一个可能的场景:

a possible scenario

它是使用此代码和 DDD 获得的

#include <stdio.h>
#include <stdlib.h>

struct exp{
int x;
struct exp *parent;
struct exp **children;
};

int main ()
{
struct exp *x = calloc(1, sizeof(x[0]));
x->x = 42;
x->parent = calloc(1, sizeof(x[0]));
x->children = calloc(5, sizeof(x->children[0]));
x->children[0] = calloc(1, sizeof(x[0]));
x->children[2] = calloc(1, sizeof(x[0]));
x->children[3] = calloc(1, sizeof(x[0]));
x->children[4] = calloc(1, sizeof(x[0]));
return 0;
}

基本上,children 字段是指向struct exp 的指针 vector 。您决定要放多少元素和其他东西。

PS:代码只是一个demo,质量不是很好。

关于c - C中struct的双指针是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11434933/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com