若有说明int a[3][4] 则对a数组元素的正确引用为

如题所述

二维数组引用基本格式:数组名[行标][列标]。

行标和列标都是从0开始,最大下标为行(列)标长度-1。

比如:a[0][1],表示第一行第二列的数组元素。

二维数组:

由行和列组成的二维表格形式的元素,其实也就是矩阵。

基本格式:

数据类型 数组名[行长度][列长度];

行长度为二维数组行的个数,必须为常量表达式,不能为变量。

列长度为二维数组每一行列的个数,必须为常量表达式,不能为变量。

二维数组包含的元素的个数是:行长度*列长度,其中每个元素占据的字节数是sizeof(数据类型),故二维数组占据的内在字节数是 行长度*列长度*sizeof(数据类型)。

举例:

定义一个二维数组a,包含4行4列的元素,每个元素均为int类型

int a[4][4];

扩展资料:

二维数组初始化时,行的个数可以省略,而列的个数不能省略,因为在实际内存中二维数组是在连续空间存放的,如果不给出列的个数,那么就无法确认每一行的元素个数。

二维数组的遍历:

for(i=0;i<ROW_NUMBER;i++){

for(j=0;j<COL_NUMBER;j++){

//a[i][j] 表示当前第i+1行第j+1列数组元素

}

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
若有说明int a[3][4];则对a数组元素的正确引用是 a[1][3]。
a[2][4]越界了
最后一个元素a[2][3]
引用时下标从0开始
第一行a[0][0] a[0][1]...
第三行a[2][0] a[2][1]...

程序1.
//定义为局部性质的数组

#include <stdio.h>
void main()
{
int a[5]; //定义局部性质的数组
int i;
for(i=0;i<5;i++)
{
printf("%2d",a[i]);
}
printf("\n");
}

程序2.
//定义为全局性质的数组

#include <stdio.h>
int a[5]; //定义为全局性质的数组
void main()
{
int i;
for(i=0;i<5;i++)
{
printf("%2d",a[i]);
}
printf("\n");
}本回答被网友采纳
相似回答