假如有一个这样的结构体
typedef struct List
{
S con;
}L;
S的内容是这个
typedef struct
{
char name[M];
char num[M];
float score;
}Stu,*S;
本人想用
List *P;
P->con=(S)malloc(sizeof(S));
出现0xC0000005: 读取位置 0x42CC0000 时发生访问冲突。这样申请空间对吗?
解决方案
30
List P; P.con=(S)malloc(sizeof(Stu));
刚开始学者少用typedef,以免发生逻辑错误
20
List *P;这样写意味着你的P指向的是一个未知区域,然后进行写操作自然出现异常了。
List *P = (List *)malloc(sizeof(List));