XCoodinate_2D = (float**)mymalloc(SRAMIN,sizeof(float*) * segments); //开辟行
YCoodinate_2D = (float**)mymalloc(SRAMIN,sizeof(float*) * segments);
for(i = 0; i < segments; i++) //第二维
{
*(XCoodinate_2D+i) = (float*)mymalloc(SRAMIN,sizeof(float) * len); //开辟列
*(YCoodinate_2D+i) = (float*)mymalloc(SRAMIN,sizeof(float) * len);
}
当第二维长度很长的时候,填进去的数据是错的
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
在数组没越界的情况下(内存充足的),数据出现异常的。在这里把第一维当作段的意思,比如我申请了
array[6][4000]; 数据是在最后一段array[5]异常;这部分代码是从VC复制过了的,VC是正常的
XCoodinate_2D = new float *[segments]; //开辟行
YCoodinate_2D = new float *[segments];
for(int i = 0; i < EC_Method_gPara.EC_Segments; i++)
{
XCoodinate_2D = new float[len]; //开辟列
YCoodinate_2D = new float[len];
}
一周热门 更多>