Когда использовать free() в C ? когда освобождать память кучи, а когда нет ?
Цитата:Когда использовать метод free() в C. Ниже я указал Linkedlist , программа прекрасно работает evn, не освобождая память здесь ? Что здесь происходит ?
Когда я должен использовать метод free() или освободить память из кучи ?
#include "stdio.h" #include "stdlib.h" struct Node { int data; struct Node *next; }; struct Node *head = NULL; void insert(int data) { struct Node *newNode = malloc(sizeof(struct Node)); if (head == NULL) { head = newNode; head->data = data; head->next = NULL; } else { struct Node *temp = head; while (temp->next != NULL) { temp = temp->next; } temp->next = newNode; newNode->data = data; newNode->next = NULL; } } void display() { if (head == NULL) { printf("LIST IS EMPTY!"); } else { struct Node *temp = head; while (temp != NULL) { printf("%d\n", temp->data); temp = temp->next; } } } int main() { insert(11); insert(12); insert(13); insert(14); display(); }
Что я уже пробовал:
пробовал Гугл и другие интернет ресурсы