gpt4 book ai didi

c - Typedef 结构体理解

转载 作者:行者123 更新时间:2023-12-04 04:51:44 25 4
gpt4 key购买 nike

我希望有人能告诉我我的理解是否正确。这是我的教授为我们的第一个任务提供的解决方案的一部分。

typedef struct alias{
char *name;
int numvalues;
char *values[MAXARGS];
struct alias *next;
} alias_node, *alias_nodeptr;

alias_nodeptr alias_dictionary;

所以我们定义了一个结构别名,名字、numvalues和values对我来说都很熟悉,但定义是“struct alias *next;”。我们在 alias 结构中定义了一个别名类型,这就像链表中的头指针。然后在最后我们定义alias_node,*alias_nodeptr,这是我们将用来遍历列表的指针,最后一行我很困惑,我希望有人能向我解释并纠正我,如果我误解了什么。

谢谢!

最佳答案

之后 typedef struct alias将等同于 alias_nodestruct alias *将等同于 alias_nodeptr .您可以互换使用它们。您不能使用 alias_nodealias_nodeptr在结构本身内部,因为尚未评估将该结构绑定(bind)到新名称的 typedef。

这可能有点令人困惑,因为该结构包含 numvalueschar *values[MAXARGS] .但它是一个有效的结构:节点的链接列表,每个节点包含一个名称和一组多个 (numvalues) 值。这里没有“列表头”结构,只有节点。您可以在不创建标题的情况下使用链接列表。您只需要记住指向列表中第一个节点的指针。

关于c - Typedef 结构体理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17331357/

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