读书人

[]二维指针数组的有关问题

发布时间: 2012-04-28 11:49:53 作者: rapoo

[求助]二维指针数组的问题
想用一个二维指针数组b把 二维数组 int a[AM][AN] 的上下、左右粘起来,形成一个闭合的轮胎形面,

代码如下:
int a[AM][AN];
int *b[AM+2][AN+2];

for(int i=0;i<AM;i++)
for(int j=0;j<AN;j++)
{
a[i][j]=1;
b[i+1][j+1] =&(a[i][j]); //*

if(i==0)b[AM+1][j]=&(a[0][j]);
if(j==0)b[i][AN+1]=&(a[i][0]);
if(i==AM)b[0][j]=&(a[AM][j]);
if(j==AN)b[i][0]=&(a[i][AN]);

}
b[0][0]=&(a[AM][AN]);
b[0][AN+1]=&(a[AM][0]);
b[AM+1][0]=&(a[0][AN]);
b[AM+1][AN+1]=&(a[0][0]);

调试的时候发现*处给b[i][j]赋的值都是a[i][j]的值而不是a[i][j]的地址,这是什么原因?

[解决办法]
int *b[AM+2][AN+2]; 是个指针二维数组。
[解决办法]
你眼花了 仔细看看

读书人网 >C++ Builder

热点推荐