我需要用C语言写一个LinkedList,我在文件中定义了结构为struct element { int value; struct element * next; };,我还定义了一个head元素。为此,我创建了一个局部变量struct element e = { value; 0 };。如果head为null,则将其设置为head,否则使用for循环将其附加。我想到的问题是,struct element类型的局部变量e在终止该函数时被删除。因此,如果我的头指向e,它将继续指向一个未分配的内存点,因为局部变量</
我看到每个函数都有自己的堆栈,这意味着当函数结束时,它的变量不再保存在内存中。我还读到,对象是通过引用返回的。reference to something that is no longer kept in the stack,
因此,如果函数返回的值是对不再存在的对象在C (语言)中,返回指向局部变量的指针是疯狂的。