【发布时间】:2019-10-13 21:10:21
【问题描述】:
假设列表是某种结构
list *temp;
temp = new list;
以上是 c++ 中的,这在 C 中是否有等价物?
【问题讨论】:
-
没有真正的方法可以实现这一点,因为 c 不是面向对象的,所以你不能有构造函数,但你可以创建初始化结构的函数并像构造函数一样返回其指针
-
在 C 中,我会这样做:
list* temp; temp = malloc(sizeof(list)); list_init(temp); -
我喜欢
list *temp = malloc(sizeof *temp);。这样,如果您将其从列表更改为其他内容,则需要更改的代码更少,而且通常更不容易出错。