我继承了一个C代码..,其中一行在下面。ICD的含义。是关键字还是名字。我在任何地方都找不到Google。
icd **d1cols = (icd**)malloc(measquant*sizeof(icd *));
我有:
for(i=0; i<measquant; i++){
*(d1cols + i) = getwtOnAFileColReturnDouble1(fp1, fp2, xx, yy);
}
如果我打印以下行
printf("Test 0,0 weight=%.3len",*((*(d1cols + 0 ))->wt+0));
我在valgrind中的错误以及其他错误中的错误:
尺寸8
的无效阅读== 45918 ==在0x401945:main(getwtmeasall_1_main.c:143(
== 45918 ==地址0x7e83850是0个字节,大小为896 free'd== 45918 ==在0x4C27430:free(vg_replace_malloc.c:446(
这里有什么问题。
看来代码正在尝试读取已经被划分的部分内存( free'd (。
icd
是由您的代码使用的库定义的数据结构。没有其他详细信息,没有更多的话要说。