program received signal SIGSEGV,Segmentation fault

使用dev时,出现以上错误,属于指针访问内存失败!

一般有如下情况:

1)指针定义后直接使用,未初始化。

例:

char *p;

printf("%s",p);

我的错误:

/*生成一个结点*/
struct TNODE *buynode(char word[]){
struct TNODE *p;
p = (struct TNODE *)malloc(sizeof(struct TNODE));
if(p != NULL){
p->word = strup(word);
p->count = 1;
p->left = p->right = NULL;    //当时我没有写这句,导致程序运行失败
}
return p;

}

2)数组越界

例:

int arr[2];

printf("%d",arr[100]);


你可能感兴趣的:(c错误笔记)