0
我被困在C堆栈中,如果有人能帮助我,我将不胜感激。这是我的代码:堆叠一遍又一遍地环回
头
typedef struct stackEl stackEl;
typedef struct Task Task;
struct stackEl{
struct Task *zad;
struct stackEl *last;
};
struct Task{
int x;
int y;
};
源
void add(stackEl *main, Task *adding)
{
stackEl tmp;
tmp.last= main;
tmp.zad = adding;
*main=tmp;
}
这一个通过指向的,而不是添加到堆叠单个元件由一个彼此一个创建元素的无限数量。我不知道如何修复它。我试图做这样的:
void add(stackEl *main, Task *adding)
{
stackEl *tmp;
tmp = (stackEl*)malloc(sizeof(stackEl));
tmp->last= main;
tmp->zad = adding;
main=tmp;
}
使用堆栈的顶部添加了这个方法元素,但它不会在主函数修改堆栈。
感谢您的帮助我已经想通了! – Norrec