Я использую free (), чтобы освободить структуру, которую я выделил ранее, и я хочу проверить, успешно ли они освободились, но я получаю только одну из них, почему?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct student{
char *name;
struct student *next;
}student;
int main(int argc, const char * argv[]) {
student *a=malloc(sizeof(student));
a->name="echo";
student *b=malloc(sizeof(student));
b->name="harry";
a->next=b;
b->next=NULL;
free(a);
free(b);
printf("%s\n", a->name);
printf("%s\n", b->name);
return 0;
}
и я получил этот вывод. Почему?
(null)
harry
Program ended with exit code: 0