我编写了一个load()返回*head, 函数用来读取文件(里面存有struct类型的数据)并且把它载入一个链表,用下面的小函数检验了一下没有问题但是我产生一些疑问想不通:在load()中我用malloc()给这个链表分配了内存,我没有用free(),那么load()这个子函数,运行时分配的内存时候被释放呢?一个程序运行过程,内存是这么分配(回收)的呢?子函数运行的内存呢?还有对于子函数变量的内存什么时候收回?
(本人大一,请牛人稍微解释下)
void main()
{
struct student_link *a;
a=load();
printf("姓名是:%s\n",a->next->name);
}
对于好的回答我一定不会吝惜分数的