Стоит ли писать в таком стиле на C?

Стоит ли писать в таком стиле, например хранить ссылки на функции внутри структуры связанной с этими функциями? Просто мне кажется, что это

  1. Тратит много памяти на одну структуру
  2. Немного не про C
typedef struct Relation{
    char* name;     // name of relation
    Node* parent;   // parent   structure
    Node* child;    // children structure
        
    // film1<----- (relation) -----/ tom  \----- (relation) ----> England
    //(child)    name:Acted_IN    |(parent)|    name:Live_IN       (child)

    //void (*create  )(char* name, Node* parent, Node* child); 
    void (*destruct)(Relation* rel); 

} Relation;


typedef struct Data{
    uint8_t type;
    void*   info;

    void (*destruct)(Data* data);
} Data;

typedef struct Node{
    Data*      data;      //         
    Relation** relations; // 
    size_t     rsize;     // relations size      
    
    //Node* (*construct     )(Data* data, Relation* rel);
    void  (*destruct      )(Node* node);
    void  (*add_relation  )(Node* node, Relation* rel);
    void  (*del_relation  )(Node* node, Relation* rel);

} Node;

Ответы (0 шт):