static void Main(string[] args)
{
List<ID> persons = new List<ID>{
new ID("Гомер Симпсон", 120, "Спрингфилд", "Homer", "Donuts", 20, 4),
new ID("Мамин Симпатяга", 40, "Маминск", "Simpa98", "maman", 25, 3),
new ID("Папин Бродяга", 65, "Папинск", "CoolGuy", "pahan", 50, 2),
};
...
// Дальше в методы передавайте всего одну переменную persons
}
typedef struct {
// какой-то код
// указатель на функцию - "метод" класса
void (*start)(struct app*);
} App;
void app_start(App *app)
{
// какой-то код
}
App *app_new(void)
{
// какой-то код
// собственно, задаем адрес функции
app->start = &app_start;
return app;
}
int main(void)
{
App *app = app_new();
// Вуаля - вызываем как метод класса
app.start(&app);
return 0;
}