66问答网
所有问题
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*ptr)[3]=a,*p=a[0];与数组元素a[1][2]等价的是*((p+2)+3)怎么理解
举报该问题
推荐答案 2020-03-14
p是一个一维数组。它的内容是1~12。也就是将a中的元素按行存入了p中了。*((p+2)+3)=*(p+5)就是p[5],而p[5]=6。a[1][2]=6,所以这两者是等价的。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/2pUxsiD9pi22Uvvx2D.html
相似回答
int
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
答:
p是一个一维数组。它的内容是1~12。也就是将a中的元素按行存入了p中了。*((p+2)+3)=*(p+5)就是p[5],而p[
5]=
6。
a[1][2]=6,
所以这两者是等价的。
已知:
int
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*ptr)[3]=...
答:
(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行0列就是1)...
已知:
int
a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}
,C语言问题
答:
所以一共向后移动了9个单位,即得出运行结果10!要想正确表达
a[1][2],
应该是(*(ptr+1))[2],数组的运算符[ ]比间值运算符*的优先级高,(*(ptr+1))[2]表示a向后移动一个单位即三个
Int,
此时ptr指向4,再往后移动2个Int指向6。其实遇到这类问题画内存结构图比较容易理解了 ...
int[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*ptr)[3]=a;_百度知...
答:
ptr 是指针,指向含3个元素的数组。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...
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]...
大家正在搜
相关问题
int a[4][3]={1,2,3,4,5,6,7,8,9...
已知:int a[4][3]={1,2,3,4,5,6,7,...
c语言的题 int a[3][4]={1,2,3,4,5,6...
若有定义:int a[3][4]={1,2,3,4,5,6,...
已有定义“int a[11]={1,2,3,4,5,6,7,...
已有定义“int a[11]={1,2,3,4,5,6,7,...
int a[12]={1,2,3,4,5,6,7,8,9,1...
int[4][3]={1,2,3,4,5,6,7,8,9,1...