Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要使用typedef才能构建递归结构吗?我尝试使用以下代码但没有成功:
typedef
struct teste { int data; int data2; struct teste to_teste; };
要构建递归结构,您不需要typedef.
您必须将结构对象转换为struct pointer对象。
struct pointer
像这样:
struct teste{ int data; int data2; struct teste *to_teste; };
您不能在其内部拥有相同的结构。如果您这样做,那么该结构的大小将变得不确定。所以这是不允许的。
相反,您可以在其内部有一个指向相同结构的指针来解决您的目的。这将起作用,因为编译器知道指针的大小,并且结构现在具有确定的大小。