mdsk.net
当前位置:首页 >> C语言二位数组A[1]表示什么 >>

C语言二位数组A[1]表示什么

语句中 a[1] 表示 地址 &a[1][0], a[2] 表示 地址 &a[2][0]. 即二维数组a 的 第2行 元素 的 首地址 和 第3行 元素 的 首地址。

*(a+1)相当于a[0][1], *(a+5)相当于a[0][5]已经越界了

对于二维数组名a和*a,二者的区别在于类型不同。 对于 TYPE a[M][N]; 当使用a时,可以等同于二级指针TYPE **型。 而使用*a时,等同于TYPE*型。 从概念上说,a表示二维数组a的首地址,而*a表示二维数组a第一行a[0]的首地址。这样在使用的时候就有...

是下标为[3][0]的那个元素的值。因为[]的优先级比*高,所以*(a+1)[2]被解释为*((a+1)[2])——二维数组a中,a是第0行的第0个元素的地址,a+1自然是第1行的第0个元素的地址,(a+1)[2]实际上就是再向后移两行那一行的元素指针,可用*(a+1+2)=*(a+3)表...

二维数组, int a[10][20]; a是一个指针的指针, 即二级指针. 一个指针加一个数, 当然还是指针(即a+1是指针) 取值一个二级指针, 是一级指针(即指针), 所以还是指针, 不过类型发生了变化. a+1的类型为int *[10]. 而*(a+1)的类型则为int *, 也就是平...

当定义二维数组a[M][N]时,数组名可以认为是二维指针,其指向二维数组的首地址。 于是a的值就是首地址的值。 而*a,就是a[0],a[0]是第一行的标记,代表第一行的首地址。 在二维数组中,所有元素都是紧密排列的,这样整个数组的首地址,第一行的...

C语言二维数组定义的一般形式是:类型说明符 数组名[常量表达式1][常量表达式2] int a[1][2]的意思是,定义了一个int类型的,数组名为a的,具有1行2列的数组 你可以把这个二维数组想像成一个表格,这个表格有1行2列,每个格子中可以放入一个int...

它们只是值相等,但类型不相等,不能说它们相等。 a+1是int **类型,指向的是数组a的第二行的起始地址; *(a+1)是int *型,指向的是数组a的第二行第一个元素的地址。

数组在内存中是连续按行分布的,对于a[2][3]={{1,2,3},{4,5,6}};它在内存中的分布式1,2,3,4,5,6;所以他等价于a[2][3]={1,2,3,4,5,6};在c/c++中,数组名也即是数组首地址,这里加入a=0x1000;那么它的地址分就是:1000,1004,1008,100c,1010,101...

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com