一个关于数组的指针问题,请大家帮忙看看
这个程序是没有问题的,但是把&A[0][0]如果改成&A[N][N](就是程序中用红色标记出来的地方)怎么就不对了呢,这两个不是表示同一个地址吗?请打大家帮忙看看,谢谢了!
#include<iostream>
using namespace std;
const N=3;
void print_matrix(int*q=NULL,int n=1)//把矩阵A打印到屏幕上
{
cout<<"A的"<<n<<"次方 ="<<endl;
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
cout.width (5);
cout.fill();
cout<<*(q+i*N+j)<<',';
}
cout<<endl;
}
}
int main()
{
A={{1,2,3},{2,3,4},{3,4,1}};
print_matrix(&A[0][0]);
return 0;
}
[ 本帖最后由 Invariably 于 2011-5-8 15:10 编辑 ]