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