繁体   English   中英

将新分配的内存分配给结构指针时出现段故障

[英]segment fault when assigning a new allocated memory to a struct pointer

struct Student {
public:
    string name;
    string family;
    string stdno;
    string ncode;
    float average;
    float age;
    struct Student *FL;
} *start, *cur, *p;

p = new struct Student;
    cur->FL = p;
    p->FL = NULL; // p->FL = nullptr in c++11
    cur = p;

我尝试分配一个新的内存分配给结构指针,似乎没有问题,但是当cur->FL = p;时出现段错误cur->FL = p; 跑了,我在这里做错了吗?

假设您的代码全部在全局范围内,则您的cur指针被初始化为null,并且取消引用它以访问FL成员将很可能会破坏事情。 您需要确保初始化cur

cur尚未分配任何指向

cur = p;

需要在p-> FL之前

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM