所以,我正在做我的作业,但我完全无法解决这个问题。我是动态内存分配的新手,需要帮助理解它。
所以,堆内存是随机的。如果我使用 malloc,比如在循环或递归函数中,我将如何获得指向第一次执行 malloc 时创建的内存的指针?
问题要求我分配内存,存储学生姓名,并输入一个整数。如果输入的整数为 1,则函数回调自身并重复该步骤。如果为 0,则该函数返回指向第一个学生的指针。这就是我的代码崩溃的地方。我只能让它将指针返回到最后一个学生,即最后一次执行 malloc 时。我想过使用 realloc 来代替,但我仍然找不到一种方法来指向第一件事。这个问题可能真的很微不足道,但我认为我还不太理解这个话题。请帮忙。
我尝试让指针指向分配的第一个内存,并且我希望我的代码打印到所有名称。
我不会为你回答测试问题,但我有一些建议。
首先这个问题不太正确。您已经从
malloc
的返回值中获得了指向堆内存的指针。这个问题是关于链表的。
在递归函数中:
studentList 不应该是递归函数。
这将为您提供一个开始。这并不完整。这是一道测试题。