次のような単純なリンク リスト ノードがあります。
typedef struct node {
void *data;
struct ListElement *next;
} node;
また、次のようにノードの作成および削除機能があります。
void createNode(void *data){
node *n = malloc(sizeof(node));
//assign data to data and initialize pointer to NULL
}
void deleteNode(List *list, Node *node){
//Take care of the next pointer
free(node);
}
ノードを解放するとき、構造体のメンバー (データと次のポインター) も削除する必要がありますか? 私は特にメンバーにmallocを使用しているのではなく、構造体全体にのみ使用していますか? もしそうなら、どうすればいいですか?ノードのすべてのメンバーがヒープに配置され、スタックはまったく使用されませんか?