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