Code Bye

申请空间的问题

假如有一个这样的结构体
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));

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明申请空间的问题