空函数但函数参数中的分段错误

时间:2011-04-15 19:41:01

标签: c segmentation-fault

我的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) {

}

运行时出现错误分段错误,编译时没有警告

1 个答案:

答案 0 :(得分:0)

使Stack in成为指针

void copyStack(Stack* out, const Stack *in) {

然后这样称呼它:

copyStack(&temp,&stack[i]);