Нужно чтобы две структуры имели в своем составе указатели друг на друга - C (СИ)
Формулировка задачи:
Нужно чтобы две структуры имели в своем составе указатели друг на друга. Как-то так:
Можно ли это как-то сделать на чистом C?
struct S1 {
...
struct S2 *s2;
}
struct S2 {
...
struct S1 *s1;
}Решение задачи: «Нужно чтобы две структуры имели в своем составе указатели друг на друга»
textual
Листинг программы
struct S2;
Объяснение кода листинга программы
- В начале кода объявляется структура S2, но без ее определения (без тела структуры). Это нужно для того, чтобы можно было объявить указатель на эту структуру в следующей строке.
- Затем объявляется указатель на структуру S2 (s2_ptr) и инициализируется нулевым значением.
- В третьей строке объявляется структура S1, которая содержит указатель на структуру S2 (s2).
- В четвертой строке инициализируется указатель s2 в структуре S1.
- В пятой строке указатель s2_ptr инициализируется значением указателя s2.
- В шестой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В седьмой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В восьмой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В девятой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В десятой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В одиннадцатой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В двенадцатой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В тринадцатой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В четырнадцатой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В пятнадцатой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В шестнадцатой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В семнадцатой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В восемнадцатой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В девятнадцатой строке указатель s2_ptr используется для разыменования указателя на структуру S2.
- В двадцатой строке указатель s2_ptr используется для разыменования указателя на структуру S2.