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

Aa[2][4]Ba[1+1][0]这道题为什么是B而不是A呢这两个选项有区别吗... A a[2][4] B a[1+1][0]
这道题为什么是B而不是A呢 这两个选项有区别吗
展开
 我来答
百度网友79faf363
2019-11-20 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1212
采纳率:75%
帮助的人:55万
展开全部

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

行标和列标都是从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列数组元素

}

}

liu_binq63
推荐于2017-10-12 · TA获得超过1485个赞
知道大有可为答主
回答量:1881
采纳率:0%
帮助的人:2282万
展开全部
int a[3][4],这个声明的第二维是4个元素,下标应该是从0到3。而A中第二维的下标为4,大于3,越界。

欢迎访问我的论坛:
http://www.chinesebloger.com
期待您的支持:)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
砂粒312
高粉答主

推荐于2017-09-06 · 醉心答题,欢迎关注
知道大有可为答主
回答量:3.5万
采纳率:96%
帮助的人:6578万
展开全部
若有说明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");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d6f84e8
2019-12-24 · TA获得超过1540个赞
知道小有建树答主
回答量:1800
采纳率:92%
帮助的人:44.6万
展开全部
int a[3][4],这个声明的第二维是4个元素,下标应该是从0到3。而A中第二维的下标为4,大于3,越界。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式