二维数组a[10][10]的第i行第i列的值可以表示为*(*a+i*10+j) 这句话 怎么理解
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/07/15 15:31:25
二维数组a[10][10]的第i行第i列的值可以表示为*(*a+i*10+j) 这句话 怎么理解
*a是指向a[0][0]所在地址的指针
由于数组中的数据是顺序存储的,所以第i行第j列的数据的地址就是*a+i*10+j(可以参考矩阵的数据位进行理解)
最后一点就是指向指针的指针实际上就是数据,是第一个指针所指向的地址内的数据
这是指针这一块儿的难点
直接说,*a+i*10+j是指向所取数据地址的指针,外面再加一个*就是变成了指针的指针,是所指地址内的数据值
ps:在这里是不需要考虑数据类型的,因为在数组数据的调用过程中系统会自动把数据类型长度乘上(i*10+j)
由于数组中的数据是顺序存储的,所以第i行第j列的数据的地址就是*a+i*10+j(可以参考矩阵的数据位进行理解)
最后一点就是指向指针的指针实际上就是数据,是第一个指针所指向的地址内的数据
这是指针这一块儿的难点
直接说,*a+i*10+j是指向所取数据地址的指针,外面再加一个*就是变成了指针的指针,是所指地址内的数据值
ps:在这里是不需要考虑数据类型的,因为在数组数据的调用过程中系统会自动把数据类型长度乘上(i*10+j)
二维数组a[10][10]的第i行第i列的值可以表示为*(*a+i*10+j) 这句话 怎么理解
假如a[i][j]表示一个二维数组,那a[i]表示的是什么?是a[i][j]的第i行所有元素吗?
在二维数组a[ i ][ j ]中*(a+i)表示第i行的首地址,为什么不是表示第i行首元素呢?
若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为________.(假设a[0][0]位于数组的第1
在java中若二维数组a有n列,那么a[i][j]前的元素个数为?怎么用i,j,n算出结果
将一个二维数组行和列的元素交换这个代码中,b[j][i]=a[i][j]
C中 用指针表示一个二维数组中任意的元素 书上写是a【i】【j】=(*p+m*i+j) m是数组的第二维的维数
C语言中二维数组a[i][j]中,a+i=*(a+i)=a[i]=&a[i]是怎么理解的.
二维数组a有n列,a【i】【j】前的元素有多少个?
若二维数组a有m列,则在a[i][j]前的元素个数为?求回答
若二维数组a有m列,则在a[i][j]之前的元素有多少?A.i*m+j B.i*m+j-1
.二维数组a有m列,则在a[i][j]之前的元素个数为:.A) j*m+i B) i*m+j C) i*m+j-1 D)