main

Обработка ошибок в си

Навеяно вознёй со своим проектом, и вот этим срачем "как правильно закрывать файл" на 18 страниц. На полноту охвата вопроса не претендую, только то что видел и использовал сам.

Будем рассматривать на примере выделения памяти для сложного ресурса, сферичной структуры в вакууме с несколькими членами, также выделяемыми через *alloc(). Вот такой:

struct foo {
  int id;
  char *data1;
  char *data2;
};

Сразу оговорюсь, что я считаю использование функций-аллокаторов "всего и сразу" - плохой практикой.

→ Читать дальше...

2016-09-09