我在辅助函数中有这个。
enum recstate {
initial,
};
struct client {
enum recstate state;
}
这是我的主要代码:
struct client *p;
p->state = initial;
一切正常,直到我尝试执行以下if语句:
if(p->state == initial){
我真的不明白为什么。 非常感谢。谢谢!
答案 0 :(得分:7)
您尚未为p
分配内存。您正在访问未经授权的内存未定义访问未授权内存的行为。
添加
p = malloc(sizeof(struct client));
行前
p->state = initial;