若有说明int a[3][4] 则对a数组元素的正确引用为
2个回答
展开全部
行标和列标都是从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列数组元素
}
}
展开全部
若有说明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");
}
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");
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询