typedef struct slist *LInt;
typedef struct slist{
int value;
LInt next;
}Node;
void reverse(LInt *l){
LInt tail;
if(*l){
tail=(*l)->next;
reverse(&tail);
snoc(&tail,(*l)->value);
free(*l),
*l=tail;
}
}
在 main 上,我这样调用函数:reverse(&l); (l 是“LInt l”)并且 snoc 所做的是将值放在列表的最后一个链接。
我的问题是,为什么我们在调用函数时必须传递“l”的地址?为什么在反向的标题上,有“LInt *l”?它是指向我传递的地址的指针吗?
如果这是一个愚蠢的问题,我很抱歉,如果我犯了任何语法错误(英语不是我的母语)。
先感谢您。