Затруднительно сформулировать вопрос, поэтому посмотрим на примере, а пример - связный список.
Можно представлять список таким образом:
struct integer_list_node
{
int data;
struct integer_list_node *next;
struct integer_list_node *prev;
};
К примеру, так реализованы списки (и другие структуры данных) в C++.
А можно так:
struct list
{
struct list *next;
struct list *prev;
};
struct integer_list_node
{
int data;
struct list node;
};
При этом обычно используют макрос типа container_of
, чтобы по указателю на list
получить указатель на контейнер. Так, например, списки используются в ядре Linux.
Так вот, существуют термины для обозначения этих двух способов представления. Может, кто-нибудь знает?