首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >icd指针C代码中的值研误差

icd指针C代码中的值研误差
EN

Stack Overflow用户
提问于 2018-02-16 13:12:45
回答 1查看 44关注 0票数 0

我继承了C代码..。一条线在下面。这里的icd是什么意思。是关键字还是名字。我在任何地方都找不到它。

代码语言:javascript
复制
icd **d1cols = (icd**)malloc(measquant*sizeof(icd *));

在我有了之后:

代码语言:javascript
复制
for(i=0; i<measquant; i++){
    *(d1cols + i) = getwtOnAFileColReturnDouble1(fp1, fp2, xx, yy);
}

如果我打印下一行

代码语言:javascript
复制
printf("Test 0,0 weight=%.3le\n",*((*(d1cols + 0 ))->wt+0));

除了其他错误外,我还犯了下面的错误:

在0x401945处8 ==45918==的读取无效: main (getwtmeasAll_1_main.c:143) ==45918==地址0x7e83850是大小为896的块中的0字节,在0x4C27430:==45918== (vg_replace_malloc.c:446)

这里出了什么问题。

EN

回答 1

Stack Overflow用户

发布于 2018-02-16 14:16:23

看起来这段代码正在尝试读取已经被释放的一部分内存(空闲的‘d’)。

icd是由代码使用的库定义的数据结构。如果没有更多的细节,就没什么可说的了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48827569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档