int *a[3][4]是什么意思

2024-12-27 19:25:55
推荐回答(5个)
回答1:

int **a[3][4]是双指针类型的2维数组,

int *a[3][4]是指针类型的2维数组,

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。

扩展资料

在一维数组 b 中,数组名 b 代表数组的首地址,即数组第一个元素的地址,b+1 代表数组第二个元素的地址,…,b+n 代表数组第 n+1 个元素的地址。

所以既然 a[0]、a[1]、a[2]、…、a[M–1] 分别表示二维数组 a[M][N] 第 0 行、第 1 行、第 2 行、…、第 M–1 行各一维数组的首地址,

那么同样的道理,a[0]+1 就表示元素 a[0][1] 的地址,a[0]+2 就表示元素 a[0][2] 的地址,a[1]+1 就表示元素 a[1][1] 的地址,a[1]+2 就表示元素 a[1][2] 的地址……a[i]+j 就表示 a[i][j] 的地址。

回答2:

int *a[3][4]是什么意思?int **a[3][4]是双指针类型的2维数组,
int *a[3][4]是指针类型的2维数组,
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。
扩展资料
二维数组A[m][n],这是一个m行,n列的二维数组。设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算为:
LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t
按“列优先顺序”存储时,地址计算为:
LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t
存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节。扩展资料
在一维数组 b 中,数组名 b 代表数组的首地址,即数组第一个元素的地址,b+1 代表数组第二个元素的地址,…,b+n 代表数组第 n+1 个元素的地址。
所以既然 a[0]、a[1]、a[2]、…、a[M–1] 分别表示二维数组 a[M][N] 第 0 行、第 1 行、第 2 行、…、第 M–1 行各一维数组的首地址,
那么同样的道理,a[0]+1 就表示元素 a[0][1] 的地址,a[0]+2 就表示元素 a[0][2] 的地址,a[1]+1 就表示元素 a[1][1] 的地址,a[1]+2 就表示元素 a[1][2] 的地址……a[i]+j 就表示 a[i][j] 的地址。

回答3:

int **a[3][4]是双指针类型的2维数组,

int *a[3][4]是指针类型的2维数组,

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。

扩展资料

二维数组A[m][n],这是一个m行,n列的二维数组。设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算为:

LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t

按“列优先顺序”存储时,地址计算为:

LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t

存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节

回答4:

  int **a[3][4]是双指针类型的2维数组
  int *a[3][4]是指针类型的2维数组

  二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。

回答5:

定义了一个二维指针数组

简单的讲就是这个数组a包含了12个指针,分别是*a[0][0], *a[0][1], *a[0][2], *a[0][3]
*a[1][0], *a[1][1], *a[1][2], *a[1][3]
*a[2][0], *a[2][1], *a[2][2], *a[2][3]