Typedef struct X{X* pX;}X; - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Собственно сабж:
Листинг программы
  1. typedef struct X{
  2. X* ptrX;
  3. }X;
Когда происходит объявление

ptrX

тип

X

еще не объявлен. Как сделать "по дзену" ?

Решение задачи: «Typedef struct X{X* pX;}X;»

textual
Листинг программы
  1. #include <iostream>
  2.  
  3. struct thing {
  4.     friend std::ostream& operator<< (std::ostream &os, const thing& t);
  5. };
  6.  
  7. std::ostream& operator<< (std::ostream &os, const thing &t) {
  8.     os << "thing";
  9.     return os;
  10. }
  11.  
  12. typedef int counter_t;
  13. typedef thing thing_t;
  14.  
  15. int main() {
  16.     counter_t a = counter_t();
  17.     thing_t t = thing_t();
  18.  
  19.     std::cout << a << ' ' << t << ' ';
  20. }

Объяснение кода листинга программы

  1. Включается заголовочный файл <iostream>, который содержит определения стандартных потоков ввода-вывода.
  2. Определяется структура thing.
  3. Определяется дружественный оператор << для структуры thing и стандартного потока std::ostream.
  4. В операторе << для структуры thing выводится строка thing.
  5. Типизируются переменные a и t как counter_t и thing_t соответственно.
  6. Переменной a присваивается значение по умолчанию для типа counter_t.
  7. Переменной t присваивается значение по умолчанию для типа thing_t.
  8. Выводится значение переменной a на стандартный поток вывода std::cout.
  9. Выводится значение переменной t на стандартный поток вывода std::cout.
  10. Возвращается пустая строка.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут