next
同じ型の構造体へのポインターを保持する構造体があります。
node
ポインターが格納する構造体の番号を格納し、それを解放し、ノードを に設定する次のコードがありますnode->next
。その直前に呼び出されたnode->next
場合、それが何であるかをどのように知ることができますか?free
double data = node->element;
free(node)
node = node->next;
return data;
ただし、同じロジックに従うと、次のコードは segfault になります。唯一の違いは、これは anode
を使用し、もう一方は要素をその基本データ型で格納するだけであることです。
struct node *temp;
temp = node;
free(node);
node = node->next;
return temp;
なぜこうなった?ところで、コードの最初のセグメントはどのように機能するのでしょうか?
ありがとう