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;
}
私が読んだように、これはノードへのポインタ用のメモリを作成します。しかし、ノード自体にどのようにメモリを割り当てるのでしょうか?