Если предположить, что список - это какая-то структура
list *temp; temp = new list;
Выше приведено в C ++, имеет ли это эквивалент в C?
list *temp; temp = malloc(sizeof(list)); [...] free(temp);
C не имеет ключевого слова new - вам нужно выделить и освободить память, которую вы хотели бы использовать вручную. new также выполняет некоторую закулисную работу , например, вызывает конструкторы и возвращает правильный тип указателя - malloc не покрывает этого и должен обрабатываться программистом.
new
malloc