递归结构

use*_*665 3 c struct recursive-datastructures

我是否需要使用typedef才能构建递归结构?我尝试使用以下代码但没有成功:

struct teste
{
    int data;
    int data2;
    struct teste to_teste;
};
Run Code Online (Sandbox Code Playgroud)

Ani*_*nge 11

构建你不需要的递归结构typedef.

您必须将struct对象转换为struct pointer对象.

像这样:

struct teste{
  int data;
  int data2;
  struct teste *to_teste;
};
Run Code Online (Sandbox Code Playgroud)


CCo*_*der 5

你自己内部不能有相同的结构.如果你那样做,那么那个结构的大小就变得无限.所以这是不允许的.

相反,您可以在其内部使用指向相同结构的指针来解决您的目的.这将起作用,因为编译器已知指针的大小,并且结构现在具有确定的大小.