读书人

指针数组转化成一维数组的有关问题

发布时间: 2013-08-09 15:16:24 作者: rapoo

指针数组转化成一维数组的问题
本帖最后由 fengflyflyfly 于 2013-07-23 13:36:12 编辑
///////////////////////////////////////
A_T1D = new float[m_GridnumX*m_GridnumZ*m_receiver*m_tnum];//一维数组

A = new float*[m_receiver*m_tnum]; //指针数组定义
for( i=0; i<m_receiver*m_tnum; ++i)
{
A[i]= new float[m_GridnumX*m_GridnumZ];
}
for( i=0; i<m_receiver*m_tnum; ++i)
for( j=0; j<m_GridnumX*m_GridnumZ; ++j)
{
A[i][j]=0.0;
}
//////////////////////////////////////////////

for( i=0; i<m_receiver*m_tnum; i++)
for( j=0; j<m_GridnumX*m_GridnumZ; i++)
{
A_T1D[j*m_receiver*m_tnum+i]=A[j][i];//指针数组的转置保存成一维数组

}
//执行这个赋值的时候居然会报错,真心不明白!求大神指导
[解决办法]
代码写的真心难看懂啊。~哈
不过指针数组,C语言来说 即 void *p[];
即数组里面存放的也是指针.
赋值会出错,应该是类型不匹配的原因..我没看懂你代码..不太好说..
不过不是你的原因,是我看不懂C++...
[解决办法]
for( j=0; j<m_GridnumX*m_GridnumZ; i++)
应该是:
for( j=0; j<m_GridnumX*m_GridnumZ; j++)
[解决办法]

引用:
for( j=0; j<m_GridnumX*m_GridnumZ; i++)
应该是:
for( j=0; j<m_GridnumX*m_GridnumZ; j++)

他说的是报错.
这个即使写成i++,应该也是不会报错的.最多就是循环不会终止而已吧??
不过我也不太清楚~~,因为没有看到整个代码~~呵呵.

读书人网 >C语言

热点推荐