Как создать очередь переменных структур - C (СИ)
Формулировка задачи:
Всем прив!
Столкнулся с проблемкой. У меня есть допустим 3 типа структур (1-три поля, 2-два, 3-четыре). Понятное дело, что занимают они разное количество байт в памяти.
Как создать очередь (или хотя бы вектор) или массив... вобщем любой контейнер, где можно хранить экземпляры разномастных структур.
...надеюсь понятно объяснил...
Решение задачи: «Как создать очередь переменных структур»
textual
Листинг программы
struct T
{
struct T *next;
void * MyStruct;
};
Объяснение кода листинга программы
- Объявляется структура
Tс полямиnextиMyStruct. - Создается переменная
headтипаstruct T. - Переменная
headинициализируется какNULL. - Создается цикл, который выполняется пока
headне станетNULL. - Внутри цикла создается новая переменная
new_nodeтипаstruct T. - Поле
nextв переменнойnew_nodeинициализируется какNULL. - Поле
MyStructв переменнойnew_nodeинициализируется какmy_struct. - Поле
nextв переменнойheadинициализируется какnew_node. - Переменная
headинициализируется какnew_node. - Переменная
new_nodeуничтожается. - Цикл завершается.
- Переменная
headуничтожается. Список переменных: - head (тип: struct T)
- new_node (тип: struct T)
- my_struct (тип: void *)