如图,单步调试时在执行到
(*config).iloader = 0;
这句之前的一些代码是对config指针的内存分配以及数据清空,结构体中只有简单的数据类型。
但对结构体数据清空后发现结构体中的数据仍不为0,如
上句执行之前的 iloader的值是 187。
这个是不理解之一。
其二,即便这样也欲将iloader的值赋为0,于是就有了
上面的语句 (*config).iloader = 0;
但这句执行后发现iloader的值仍为187 并没有被更改。
这是第二个疑惑。
-------------------------------------------------------------------------
如果有哪位遇到过类似的情况或经历请麻烦帮忙分析或者回忆下。
还有类似如下
int iCurr;
iCurr = config->iloader;
if(iCurr<NLOADERS)
(*config).loaders[(*config).iloader] = loader;
(*config).iloader++;
上面的config->iloader的值有时候是0
但是赋到iCurr后发现iCurr的值就已经不是0,而是其他值。
遇到这样的问题,没了头绪。
希望有经验的兄弟或者前辈可以想一想。
--------------------------------------------------------------
程序运行环境 vc6.0
源文件类型
.h
.c
---------------------------------------------------------------
不胜感激。
谢过 ;)