Ещё интересно - пользуется ли кто-то at_exit() - для регистрации деструкторов, скажем для структур, которые перед смертью не то, чтобы память освободить должны (она, видимо, и так освобождается), а там сделать чего-то нужное,
И ещё вопрос - зачем делать:
my_type_t * var;
var = (my_type_t *) malloc (sizeof(my_type_t));
Когда можно:
var = malloc (sizeof(*var));
- Преобразование типа перед возвратом malloc имеет какое-то сакральное значение (подозреваю - для совместимости с C++)
- Указывать размер по типу а не по переменной под которую выделяешь память как-то не очеь удобно... ну может там тип поменяться... или тут тоже скрытый смысл?
Встречал также
ioctl (fd, MY_CONTROL_COMMAND, (int)&my_var).
Здесь-то к чему эти преобразования???
