77问答网
所有问题
C语言中,有一个二位数组inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};请问a[0],*(a+0)和*(*(a+0))的区别?
如题所述
举报该问题
推荐答案 2013-05-11
要明白这事先要弄清二维数组的存储问题
先说一维数组,举例a[3],数组名称a就是指针,就是这个数组的起始地址。其中各元素的地址就是a, a+1,a+2. 它们的值分别是*a, *(a+1), *(a+2),也就是a[0],a[1],a[2].
二维数组int a[3][4],数组名称a则是指针的指针,它指向指针数组a[3],其中每一个元素又分别指向一个一维数组,每个数组包含了4个整数。
来自C语言基础训练…
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/IWq8qI3YG.html
相似回答
有二维
数组a[3][4]={1
到
12}
现从键盘任意输入
一个
整数n编程使用数组指针p...
答:
int main(){ int i,j,k,n
,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
printf("输入n:");scanf("%d",&n);k=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if
(a[
i][j]==n){ printf("下标:%d,%d\n",i,j);k++;} if(!k) printf("n不包含在
数组a
中\n");return...
...
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
int (*p)[4...
答:
int (*ptr)
[3]=a
这句,将a的首地址赋值给了ptr,ptr表示的是指向一个含有三个Int的数组的指针,((ptr+1)
[2]
)等价于*((ptr+1)+2),等价于*(ptr+3),这表示从
数组a
的首地址向后移动3个单位,每个单位为一个含有3个Int的
数组,
所以一共向后移动了9个单位,即得出运行结果10!要想正确表...
...
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
若
数组a
首地址为500...
答:
答案A.数组定义是
a[0]=1,a[1]=2,a[2]=3,
...,
a[9]=10
A. p += 2使p指向a
[2], *(
p++)表示先取*p的值, 然后p增加1(指向a[3]), 所以取得的值是a[2]=3 B. p += 2使p指向a[2], *++p表示先p增加1(指向a[3]),然后取*p的值,所以是a
[3]=4
C
. p += 3使p...
C++:执行语句
inta[3][4]={{1,2,3,4},
{
5,6,7},
{
8,9},
{
10}
答:
等于0. 如果一个
数组
填写了初始值又没填满, 那么剩下的就用0填充; 如果没写初始值那么就保留内存原有值不清零
inta
[3][4]应该看作(inta[3])[4], 可以看作是一个包含了4个(长度3的数组)的数组
...
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},(
*p)[4
];
p=a...
答:
int (*p)
[4];
表明p是行指针,即p指向二维数组中的一行。p=a;这一句表示p指向
a[0],
也就是指向
a数组
第0行的第0个元素
(a[
0][0])的地址。p[2]表示p指向a数组的第二行,即指向a[2]行,也就指向a
[2][0
]的地址。p[2]+3表示行指针指向a数组的第二行(从第0行开始),(从0开始)第...
二维
数组int a[3][4]={{1,2,3,4},
{
5,6,7,8
},{
9,0,1,2}};
里
答:
按行排列的,先排列第二维的,然后在排列第一维。二维数组实际的存储还是转换为一维数组来实现的。每个a[i][j]实际对应a[i*M+j],M是第二维的长度。
...{
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行...
大家正在搜
相关问题
c语言中*(*a+1)什么意思 int a[3][4]={{...
C语言中inta[2][3]={1,2,3,4,5,6};求...
输入一个二维数组(3×4)的元素,输出其中值最大的元素值,以...
C语言数组的初始化表示方法
在C语言中,以下合法的数组定义是( ) 。 A.int a[...
C语言的数组问题,若有定义:int a[2][3];以下选项...
C语言程序设计试题
c语言中一维数组的平移交换