我的C程序具有这样的堆栈类型定义:
typedef struct {
char T[MaxEl+1][MAX_CHAR];
address TOP;
boolean alive;//ignore this
} Stack;
并创建一个函数:
void expandP(Stack stack[],int i,char input[]) {//variable stack is array of Stack
..
Stack temp;
CreateEmpty(&temp);
..
copyStack(&temp,stack[i]);
}
void CreateEmpty(Stack *S) {
Top(*S) = Nil;
isAlive(*S) = false;
}
void copyStack(Stack* out,Stack in) {
}
运行时出现错误分段错误,编译时没有警告
答案 0 :(得分:0)
使Stack in
成为指针
void copyStack(Stack* out, const Stack *in) {
然后这样称呼它:
copyStack(&temp,&stack[i]);