Site Overlay

结构体指针成员判空引发 Segmentation fault 的解决

相关代码:

    if(p == NULL){
        printf("p is null\n");
    }

    if(p->lchild == NULL){
        printf("p lchild is null\n");
    }

p->lchild == NULL 出现段错误。

调试之后发现,是因为声明结构体之后,结构体并不会自动为指针置空,如果分配的内存有数据,就会使得结构体中有默认的随机数据

解决方法,使用 memset 等手段手动清空结构体。

memset(&r1, 0, sizeof(a1));

发表评论

电子邮件地址不会被公开。 必填项已用*标注