1楼:匿名用户
(*p)[2]=a表示将抄p定义为一个袭
指向含2个元素的一维数组的指针变量,那么二维数组就可以看作是一维数组a[3],其中每一个元素都是一个一维数组,a[1]=,a[2]=,a[3]=;
则p+2就指向了a[3],*(p+2)是a[3]的首地址,**(p+2)就是a[3]的首元素,即为5。
2楼:匿名用户
*(p+2)即a[2],**(p+2)即*(*(p+2)+0)即a[2][0],所以它的值是5
设有变量定义 int a[3][2]={1,2,3,4,5,6}, (*p)[2]=a;表达式**(p+2)=*p[2]的值?
3楼:潘良段干宛菡
(*p)[2]=a表示来
将p定义为一个指向自
含2个元素的一维数组的指针变量,那么二维数组就可以看作是一维数组a[3],其中每一个元素都是一个一维数组,a[1]=,a[2]=,a[3]=;
则p+2就指向了a[3],*(p+2)是a[3]的首地址,**(p+2)就是a[3]的首元素,即为5。
4楼:匿名用户
**(p+2),*p[2]这两个表达式是等价的,当然,**(p+2)=*p[2]是一个赋值表达式,最终的值还是a[2][0],即5
5楼:匿名用户
作用是:a[2][0]被 a[0][2]也就是a[1][0]赋值
6楼:匿名用户
**(p+2)的值为5
int a[3][2] = { 1,2,3,4,5,6 }, (*p)[2]; p = a; printf("%d\n",a); printf("%d,%d",*a,*a[0]); } 50
7楼:匿名用户
二维数组
可以当成每个
元素都是一个数组的一维数组
比如a[3][2] 可以当作一个一维数组a[3], 但是a[3]的每个元素回都是答一个一维数组..
那么就好理解了 *a是a[0],但是a[0]自身是一个一维数组,并不是一个数
所以*a[0], 或者**a 才是这个一维数组的首个元素的值
8楼:匿名用户
二维数组的首地址是
来二级自指针,二级指针就是指bai针的指针,du意思就是一个指针指向了另一
zhi个指针。
假如:int **b , *a; b = &a; 所以dao*b中存放的是指针a指向的地址值, b就是a的地址值。
所以这里的**a 和*a就是这个道理。这里*a就是第一行首地址的地址值
9楼:哥德**的忧郁
a是一个二维数组的首地抄址,*a是对a相当于进行了一次降维,所以*a是一维数组的首地址,也就是a[0],这么说吧你可以把a[3][2]看成这样子, },所以a指向的是这一整个数组,*a指向才是数组里的一个元素,所以再对*a进行*运算,也就是**a,才会是第一元素的值,如果不懂欢迎追问哦。
10楼:育知同创教育
二维数组不应该是**a才能取到1吗?
11楼:王子易
你这什么,题目看不懂
设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为()
12楼:匿名用户
答案选b
p = a;让a指向int a[2][2]的int a[2];p++让p指向int[2]的第二个地址,int a[1][2]的地址,所以**p的值是3.
若有定义int a 51,2,3,4,5则数组元素
1楼 ta是猪 数组是从0开始的,所以a 3 实际是它的第四个元素,所以答案是4 有定义inta 5 1 2 3 4 5 ,则a 3 的值 2楼 郑原俊 a 3 的值是4,就是说定义的数组是从a 0 开始的,就是说这个数组是没有a 5 的,最大就是a 4 5 最小是a 0 1 3楼 匿名用户 a 0...
c语言里面定义int型的变量后面打个小括号不是
1楼 int x 5 就是int x 5 的意思。其实最早的c编译器并不支持这种写法,后来c 兼容c的编译器就都支持这种写法了。 你拒绝吧,我实在看不出int x 5 这种写法还有别的什么意思, 不完整 我也无能为力了。如果认证员还知道int x 5 有别的意思,告诉我不就让我进步了吗? 2楼 匿名...
在c中定义有int类型成员A,B的类Test
1楼 然后去远足 public class test 2楼 最大功能 实验课不会做而已。。。不过这么简单的题。。。 c 怎样定义一个int类型的int型变量 3楼 自由食品 using intalias system int32 intalias a 4楼 倾城一泪 int a a 现在就是一个in...