我有一个带有两个指针和一个 int 变量的结构。出于某种原因,我在线路上遇到了分段错误ptr->i=0;
。这是为什么?我指的是内存中的某些东西,i
它不是指针,所以它应该是合法的。谁能解释一下这是怎么回事?我确实为 struct 和两个 char 指针创建了内存。
struct A_ {
char *a;
char *b;
int i;
};
typdef struct A_ StructA;
然后在我的main()
我有以下内容:
StructA *ptr=malloc(sizeof(StructA));
ptr->a=malloc(sizeof(char));
ptr->b=malloc(sizeof(char));
ptr->i=0;