Question

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;
};
Was it helpful?

Solution

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;
};

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top