Node *create_node() {
Node node = malloc(sizeof(Node));
node.cargo = next_free_cargo++;
return &node;
}
我以爲malloc在堆上創建了東西?爲什麼這仍被認爲是一個局部變量?爲什麼這個結構初始化不起作用(不能返回本地變量的地址)
另外,這是正確的方法嗎?
Node *create_node() {
Node *node = malloc(sizeof(Node*));
node->cargo = next_free_cargo++;
return node;
}
當我讀到它時,這會爲指向節點的指針創建內存。但它如何爲節點本身分配內存?