*(a+1)[2] 在c语言中表示什么意思,其中a 是一个二维数组的数组名,请解...
是下标为[3][0]的那个元素的值。因为[]的优先级比*高,所以*(a+1)[2]被解释为*((a+1)[2])——二维数组a中,a是第0行的第0个元素的地址,a+1自然是第1行的第0个元素的地址,(a+1)[2]实际上就是再向后移两行那一行的元素指针,可用*(a+1+2)=*(a+3)表示,所以是第3行的...
C中2维数组 *(a+1) 代表什么
数组名a表示数组a的首地址, 是a[]的首地址, 同时也是a[][]的首地址。 *(a+1)是把a看作是一维的数组, 它其中每个元素也是一个一维数组。 所以*(a+1)就是这个总的一维数组的第二个元素, 也就是二维数组的第二行。 而*(a+1)本身又是一个数组, 它指向这个数组的首地址。 综上所述...
c语言中*(*(p+1)+2) 什么意思?具体怎么表示的?
(*(p+1)+2)为二维数组用指针表示的形式,相当于数组元素num[1][2]。二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都...
二维数组&(*(a+1)+2)与什么等价?
就是指向指针的指针(指针就是地址变量),即:指向a[1][2]的地址的指针。
二维数组中*(a+i)是什么意思
在C语言中规定,数组名代表的是数组首元素地址。a是二维数组的数组名,因此,在二维数组中*(a+i)表示的是第i+1行0列元素的地址,即a[i][0]的地址。而a+i表示的是第i+1行的首地址。
*(*a+1)[4] c语言里面能表示二维数组的元素吗
二维数组可以用一个指向指针的指针来引用它,也就是说他们是等价的。a[0][0] **a 或者*a[0]是同一个单元。我们来看看B,2个*加一个[](B化简了也就是a[0][1][4])多指了一次肯定不对,C也是三个(C化简了也就是a[0][1][0])都不知道指到什么地方去了。我运行过了,编译器说了...
C语言二维数组的问题
a[0][0]=1,a[0][1]=2,a[0][2]=3,a[0][3]=4 a[1][0]=6,a[1][1]=6,a[1][2]=7,a[1][3]=8 a[2][0]=6,a[2][1]=4,a[2][2]=5,a[2][3]=7 你应该一个一个标上就不会犯错误啦,你的书没看透啊,书上这方面的知识都有,好好看书吧。书看透了就明白了...
c语言二维数组问题
int i,j;printf("a数组:\\n");for (i=0;i<5;i++){ for(j=0;j<5;j++)printf("%3d ",a[i][j]);printf("\\n");} printf("b数组:\\n");for (i=0;i<5;i++){ for(j=0;j<5;j++)printf("%3d ",b[i][j]);printf("\\n");} for (i=0;i<5;i++){ b[i]...
c语言中a[2][2]什么意思?
在 C 语言中,`a[2][2]` 是一个二维数组的访问方式。这表示一个包含元素的二维数组,并用索引来访问其中的特定元素。假设 `a` 是一个二维数组,那么 `a[2][2]` 表示该数组的第三行(索引为2的行)和第三列(索引为2的列)的元素。在 C 语言中,数组的索引是从0开始的,所以`a[2][...
求助C语言判断题
1、错。数组名是常量,不能改变其值。二维数组名是指向行数组的指针常量。比如int a[2][3],a就是指向第一行数组[3]的指针。*a就是第一行首地址。a+1就是指向第二行数组。(a+1)就是第二行首地址。但不能写a++。因为不能改变其值!2、错。非全局非静态的数组没有初值是随机值,需先...