Здравствуйте, Roman Odaisky, Вы писали:
АТ>>никакого приведения типа не надо
RO>...но лучше его всё же писать. Для forward compatibility
Как раз таки наоборот. Лучше его
не писать, ибо явное приведение типа в такой ситуации может привести к маскированию грубой ошибки. А именно, если автор кода забудет включить заголовочный файл с корректным объявлением 'malloc', то компилятор С выполнит неявное объявление 'malloc' с подразумеваемым типом возврата 'int'. Без приведения типа попытка присваивания этого 'int' указателю сразу приведет к ошибке компиляции, а с приведением типа код будет принят и ошибка окажется замаскированной. На платформе с одинаковым размером указателя и 'int' это еще может худо-бедно "работать", но в общем случае — беда.
Поэтому существует достаточно известный совет — никогда не приводите тип возврата 'malloc'.