문제

Do I need to use typedef in order to build recursive structs? I tried to use the following code without success:

struct teste
{
    int data;
    int data2;
    struct teste to_teste;
};
도움이 되었습니까?

해결책

To build recursive structs you do not need typedef.

You will have to convert the struct object into a struct pointer object.

like this:

struct teste{
  int data;
  int data2;
  struct teste *to_teste;
};

다른 팁

You CANNOT have the same structure inside itself. If you do that then size of that structure becomes indefinite. So that is not allowed.

Instead you can have a pointer to the same structure inside itself to solve your purpose. This will work because size of a pointer is known to the compiler and the structure has a definite size now.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top