Typedef struct X{X* pX;}X; - C (СИ)
Формулировка задачи:
Собственно сабж:
Когда происходит объявление
Листинг программы
- typedef struct X{
- X* ptrX;
- }X;
ptrX
типX
еще не объявлен. Как сделать "по дзену" ?Решение задачи: «Typedef struct X{X* pX;}X;»
textual
Листинг программы
- #include <iostream>
- struct thing {
- friend std::ostream& operator<< (std::ostream &os, const thing& t);
- };
- std::ostream& operator<< (std::ostream &os, const thing &t) {
- os << "thing";
- return os;
- }
- typedef int counter_t;
- typedef thing thing_t;
- int main() {
- counter_t a = counter_t();
- thing_t t = thing_t();
- std::cout << a << ' ' << t << ' ';
- }
Объяснение кода листинга программы
- Включается заголовочный файл
<iostream>
, который содержит определения стандартных потоков ввода-вывода. - Определяется структура
thing
. - Определяется дружественный оператор
<<
для структурыthing
и стандартного потокаstd::ostream
. - В операторе
<<
для структурыthing
выводится строкаthing
. - Типизируются переменные
a
иt
какcounter_t
иthing_t
соответственно. - Переменной
a
присваивается значение по умолчанию для типаcounter_t
. - Переменной
t
присваивается значение по умолчанию для типаthing_t
. - Выводится значение переменной
a
на стандартный поток выводаstd::cout
. - Выводится значение переменной
t
на стандартный поток выводаstd::cout
. - Возвращается пустая строка.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д