Эквивалент языка программирования C для инициализации структуры в C ++ - PullRequest
3 голосов
/ 14 октября 2019

Если предположить, что список - это какая-то структура

list *temp;
temp = new list;

Выше приведено в C ++, имеет ли это эквивалент в C?

1 Ответ

5 голосов
/ 14 октября 2019
list *temp;
temp = malloc(sizeof(list));

[...]

free(temp);

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...