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 << ' ';
}

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

  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