int x[20][30],*px=&x[0][0],i,j; 为何px+i*30+j与&x[i][j]的值相同int x[20][30],*px=&x[0][0],i,j;为何px+i*30+j与&x[i][j]的值相同

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 05:08:46
int x[20][30],*px=&x[0][0],i,j; 为何px+i*30+j与&x[i][j]的值相同int x[20][30],*px=&x[0][0],i,j;为何px+i*30+j与&x[i][j]的值相同

int x[20][30],*px=&x[0][0],i,j; 为何px+i*30+j与&x[i][j]的值相同int x[20][30],*px=&x[0][0],i,j;为何px+i*30+j与&x[i][j]的值相同
int x[20][30],*px=&x[0][0],i,j; 为何px+i*30+j与&x[i][j]的值相同
int x[20][30],*px=&x[0][0],i,j;
为何px+i*30+j与&x[i][j]的值相同

int x[20][30],*px=&x[0][0],i,j; 为何px+i*30+j与&x[i][j]的值相同int x[20][30],*px=&x[0][0],i,j;为何px+i*30+j与&x[i][j]的值相同
&x[0][0]数组第一个成员的地址,int *px=&x[0][0],px指向该成员;
px+i*30+j,数组每行有30个成员(30列),所以i*30+j就是第i行j列的成员,所以这句的意思就是:以px所指向的数组第一个成员的地址开始 移动了i*30+j个单位,所以也就是数组第i行j列成员的地址;
&x[i][j]当然是数组第i行j列成员的地址啦