与C ++中的结构初始化等效的C编程语言

Mic*_*mse 3 c c++ struct

假设清单是某种结构

list *temp;
temp = new list;
Run Code Online (Sandbox Code Playgroud)

上面是在c ++中,这在C中是否等效?

Nic*_*eed 5

list *temp;
temp = malloc(sizeof(list));

[...]

free(temp);
Run Code Online (Sandbox Code Playgroud)

C没有new关键字-您必须分配和释放要手动使用的内存。new它还在后台做一些工作,例如调用构造函数并返回正确的指针类型- malloc不能解决这个问题,必须由程序员处理。

  • 不要将malloc的返回值转换为C。 (4认同)