【发布时间】:2021-11-30 20:33:13
【问题描述】:
void push(struct Node** head_ref, int new_data)
{
struct Node* new_node = (struct Node*) malloc(sizeof(struct Node)); // WHY this?
new_node->data = new_data;
new_node->next = (*head_ref);
(*head_ref) = new_node;
}
【问题讨论】:
-
DMA 不代表动态内存分配。
-
如果不使用动态内存分配,每个节点的内存从哪里获取?你不能使用局部变量,因为它会在函数返回时消失。
-
@Amit Kumar 有什么问题?如果您不想使用 malloc,请不要使用它。
-
你觉得没有malloc应该怎么写?
-
@user253751 例如使用数组。:)
标签: c linked-list malloc dynamic-memory-allocation