【发布时间】:2021-08-17 04:12:17
【问题描述】:
如果我有一个递归结构
typdef struct {
int foo;
baz* bar;
} baz;
baz* myStruct;
如何访问myStruct 中bar 的foo 值?
以“猜测和测试”的方式,我已经尝试过
myStruct->bar.foo;
(*myStruct->bar).foo;
(*(*(myStruct)->bar).foo);
还有其他一些组合,但我总是出错。
显然,我对该主题的了解有限。欢迎任何建议。谢谢!
【问题讨论】:
-
C 并不是真正的“猜测和测试”语言。这是你读一本书并解释事情的地方。 C 本身很古怪,但大多数时候并不那么棘手。
-
@lurker 这是我的一个错误。我的意思是
myStruct是一个指针。 -
那么
myStruct->bar->foo sincebaz`是一个指向结构的指针。或取消引用为(*(myStruct->bar)).foo。您确实需要说明您的错误是什么,因为您的自引用声明不太正确(如答案之一所示)。
标签: c recursion data-structures