我试图写一个使用指针链表使用指针的指针
我的代码是的头指针弹出从链表节点的弹出功能:
struct stack{
char name;
int info;
struct stack *next;
};
typedef struct stack s;
我写的是第一个POP功能(这是使用指针指向我的第一次)
1) s *pop(s **ps){
s **temp1;
*temp1=NULL;
*temp1=*ps;
*ps=(*ps)->next;
return *temp1;
}
,而这个工作
2) s *pop(s **ps){
s *temp2=NULL;
temp2=*ps;
*ps=(*ps)->next;
return temp2;
}
我遇到了1的分段错误,发生了什么问题?有没有更好的方法来做到这一点?
我用指针的指针移动方法因为,我读指针是按值传递,因此,即使我使用临时变量局部的变化不会影响实际的一个
您是否缺少代码中的typedef struct stack s;'?如果不是,那么's'的类型是什么?这种缩写类型名称很少适用。 – 2014-10-11 19:54:29
@JonathanLeffler对不起,我忘了添加typedef struct stack s;我会编辑谢谢告诉 – sarat 2014-10-12 04:49:20