【发布时间】:2018-11-03 01:21:24
【问题描述】:
typedef struct llist {
int valor;
struct lligada *prox;
} *LInt;
这就是我大学的 C 语言中链表的实现方式,我一直想知道为什么他们在最后一行中放置了指向 LInt 而不是 LInt 的指针。
typedef struct lligada {
int valor;
struct lligada *prox;
} LInt;
这不是更简单吗?我的意思是这是我在网络教程中看到的最后一个示例,如果我们想要一个指向该结构的指针,我们只需编写类似
LInt *foo = ...;
让我感到困惑的是,他们在结构中声明了指针,在练习中他们仍然做了上面的声明。这有什么特别的原因吗?这是正常的吗?他们也对二叉树这样做。
【问题讨论】:
-
最好省略整个 typedef,只使用 struct:
struct lligada *foo = ... ; -
“这不是更简单吗?” --> 是的,而且不那么令人困惑。
-
你的学校不太可能改变。有时大学会陷入困境,陷入困境,陷入困境,陷入困境。
-
在您的第二个示例中,结构具有不同的标签,这是故意的吗?
-
不,我只是忘记改了
标签: c