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;
なぜこうなった?ところで、コードの最初のセグメントはどのように機能するのでしょうか?
ありがとう