88问答网
所有问题
int[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p=a[0]; a[1][2]的表达式是*(*(a+1)+2) 为什么?
如题所述
举报该问题
其他回答
第1个回答 2012-09-19
其实只需要:a[1][2]的表达式是*(*(a+1)+2) 为什么?
(地址加数字就是往后移几个后的地址)
a指的是这个二维数组名或起始地址
a+1指的是第一行的起始地址
*(a+1)加*后指的是第一行第0列的起始地址(因为还有一整行,不能具体到某个值,所以还是地址)
*(a+1)+2指的是第一行第二列的地址
*(*(a+1)+2) 指的是第一行第二列这个地址上的数,也就是a[1][2]的意思。本回答被提问者采纳
相似回答
int
a
[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p=a[0];
答:
A最外面多了个
括号(
),修改为
(*prt
+
1)[2];
B正确。我记得原题是*(*p+
5)
)这个。C修改为*((*prt+1)+2)D正确
int[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int
(*p
tr
)[3]=a
;
答:
int (*ptr)[3]=a; ptr 指向 a 始地址。int
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*ptr
)[3]=a;int
i;for (i
=0;
i<12;i++) printf("%d "
, (*
ptr)[i]); // 输出 1 2 3 4 5 6 7 8 9 10 11 12 printf("\n===\n");for (i=0;i<4;...
已知:
int
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},
C语言问题
答:
int
(*p
tr
)[3]=a
这句,将a的首地址赋值给了ptr,ptr表示的是指向一个含有三个
Int的
数组的指针,((ptr+
1
)
[2]
)等价于*((ptr+1)+2),等价于*(ptr+
3)
,这表示从数组a的首地址向后移动3个单位,每个单位为一个含有3个Int的数组,所以一共向后移动了9个单位,即得出运行结果10!要想正确...
int
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12} , (*prt)[3]=a, *p=a
...
答:
(*prt)[3]=a
指的是(*prt)+3的这块指针指向2维数组a的首地址,prt应该是个2维指针。
p=a[0]
指的是大小为3的第二维数组的首地址。如果不对指针做加法运算的话,不用计较它真正指向几维数组,他们指向的都是a、a[0]、a[0][0]的地址。
int
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p
[4], i;
答:
A 最高只有
a[3][2]
int
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12},(*prt)[3]=a,*p
[4],i...
答:
嗯 为数组下标是从0开始的,所以不可能出现4 最后是a[3][2]
1 2
3
4
5
6 7 8 9
10
11
12
对应的数组下标:
a[0][
0] a[0][1] a[0][2]a[1][0] a[1][1]
a[1][2]
a[2][0] a
[2][1]
a
[2][2]
a[3][0] a
[3][1]
a
[3][2]
...
...
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int
(*
ptr
)[3]=a,*p=
...
答:
(ptr)[3]是行指针
,*(
ptr
)[3]=a
表示指向
a[4][3]的
第0行
...{
int
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int
(*prt)[3]=
...
答:
都正确,你要知道,数据在内存当中的存储方式。你的*(*(a+
1)
+
2)
就是一行二列的元素,那就是6.而*(*(p+
5))
就是偏移量为
5的
那个元素,还是6啊。你的数组虽然是二维数组,但在内存当中还是以顺序的方式存放数据的。了解了就知道怎么回事了。 (提醒,别忘了数组是从0开始的,就是0行...
大家正在搜
相关问题
int a[4][3]={1,2,3,4,5,6,7,8,9...
已知:int a[4][3]={1,2,3,4,5,6,7,...
二维数组:int arr[4][3]={{1,2,3},{4...
int[4][3]={1,2,3,4,5,6,7,8,9,1...
设有以下定义:int a[4][3]={1,2,3,4,5,...
c语言的问题 int a[3][4] = {1,2,3,4,...
int a[3][2] = { 1,2,3,4,5,6 },...
若有定义:int a[3][4]={1,2,3,4,5,6,...