Всегда были проблемы с такого рода проектированием.Вот пример:
```c
typedef struct ca_str { int a; } ca_type;
typedef struct cb_str { char b; } cb_type;struct p_str {
c_type *c;
/* must be pointer to
ca_type or cb_type
*/
};
```В `struct p_str` должен быть указатель или на `ca_type`, или же на `cb_type`. Желательно, один и тот же указатель.
Из моих изобретений – можно держать указатели на все возможные структуры, все ненужные из которых делать тотальным `NULL`, но это совершенно неприятно.Как это делают программисты?
Перепутал, должен быть полиморфизм в си.
> должен быть указатель или на желательно, один и тот же указатель.
> Из моих изобретений – можно держать указатели но это совершенно неприятно.
> Как это делают программисты?тежыло тибя четать. праграмизды юзают пустые указатили если "полимарфизма" хочецо.
>> должен быть указатель или на желательно, один и тот же указатель.
>> Из моих изобретений – можно держать указатели но это совершенно неприятно.
>> Как это делают программисты?
> тежыло тибя четать. праграмизды юзают пустые указатили если "полимарфизма" хочецо.сoxже, на электopнный мешок, cyдя по стилю англиканского npoисoхждения
Был бы я электронный… Если это в мой адрес.
>void *, tagged union(аля switch) - в поисковике можно покопать, сорцы разные почитать
.. вообще скользкая тема
Спасибо! Рассказали про ссылки в union, мне очень понравились.
Делать штуки нулями - запутывающая практика, затрудняющая разбор работы софта после.