这是我的结构:
typedef struct termNode{
char term[41];
int matched;
struct termNode *next;
} termNode;
它适用于以下代码:
int add_term_to_list(char term[41]){
int i = 0;
termNode *tmp = NULL;
if(headTerm == NULL){
if(create_head(term) != 0)
return 1;
else
return 0;
}
tmp = malloc(sizeof(termNode*));
if(tmp == NULL)
return 1;
while(term[i] != '\n'){
tmp -> term[i] = term[i];
i++;
}
tmp -> term[i] = 0;
tmp -> matched = 0;
tmp -> next = NULL;
currTerm -> next = tmp;
currTerm = tmp;
return 0;
}
但是,如果我在结构中添加另一个变量:
typedef struct termNode{
char term[41];
int matched;
int size;
struct termNode *next;
} termNode;
然后当我尝试运行时出现段错误。这是我的代码中唯一的变化。有谁知道为什么会这样?
我更新了代码 -> make clean -> make -> run,我得到了段错误。