执行malloc语句后,出现一个无法解释的问题
1 struct parameter_value *parameters;2 struct ssd_info *ssd;
3 parameters=load_parameters();
4 ssd=(struct ssd_info*)malloc(sizeof(struct ssd_info));
5 if(parameters->ad_map==0)
6 ssd->map_entry=(struct entry*)malloc(sizeof(struct entry)*8);
这时main函数中的一部分。
我的开发平台是VC 6.0
我现在碰到一个超级无解的问题:在单步执行时,执行完第3行代码后,结构体parameters中的所有成员被赋值了,再执行第4行语句,惊奇地发现,parameters中的部分成员的值被修改了,而第4行语句与parameters没有任何关系。并且每次单步执行,parameters中被修改的成员都是相同的。
这个原因何在?怎么解决啊?