Оператор new в C

Какую роль в языке C играет оператор new?

Очень важную. С помощью оператора new в С , как и в C# создаются новые объекты. new в С обеспечивает динамическое выделение памяти в куче. В случае успешного выделения - он возвращает указатель в виде адреса участка памяти, где расположен элемент.

Отличия оператора new в C# и С :

1. С помощью данного оператора в C# можно создать экземпляр класса и структуры, при этом экземпляр класса автоматически , как ссылочный тип данных, попадёт в кучу, а структура - в стек (как значимый тип). В С нет разбиения на ссылочные и значимые типы даных как такового, так что при использовании оператора new как экземпляр класса, так и структура - попадёт в одну и ту же кучу, при том что если создавать структуру без new - она попадёт в стек.

2. В языке С есть такая штука как Placement new (размещающий new). С помощью оператора new в C можно вернуть ссылку на участок памяти, который уже занят каким-то значением, а не только указать свободную ячейку памяти. Затем, можно это значение считать, удалить, перезаписать... короче сделать с ним что угодно)

возможно, есть ещё какая-то разница, но увы, в голову ничего больше пока не пришло... Если у кого-то есть какое-то дополнение - буду рад)