Нужно ли мне использовать typedef
для создания рекурсивных структур? Я безуспешно пытался использовать следующий код:
struct teste
{
int data;
int data2;
struct teste to_teste;
};
Нужно ли мне использовать typedef
для создания рекурсивных структур? Я безуспешно пытался использовать следующий код:
struct teste
{
int data;
int data2;
struct teste to_teste;
};
Для построения рекурсивных структур вам не нужно typedef
.
Вам нужно будет преобразовать объект структуры в объект struct pointer
.
нравится:
struct teste{
int data;
int data2;
struct teste *to_teste;
};
malloc()
указатель to_teste
перед использованием testing.to_teste->data2;
- person Aniket Inge; 22.11.2012
Вы НЕ МОЖЕТЕ иметь внутри себя такую же структуру. Если вы сделаете это, то размер этой структуры станет неопределенным. Так что это недопустимо.
Вместо этого вы можете иметь указатель на ту же структуру внутри себя для решения вашей задачи. Это будет работать, потому что размер указателя известен компилятору, и теперь структура имеет определенный размер.