سؤال

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