A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zzzzly 中级黑马   /  2016-5-10 23:13  /  963 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


1、二维数组:
二维数组 : 一维数组的每一个元素又是一个一维数组

2、定义和初始化
1)定义的时候初始化
二维数组 :数据类型 数组名[常量表达式1][常量表达式2]
int a1[3][2]={1,2,3,4,5,6};
int a2[3][2]={{1,2},{3,4},{5,6}};
int a5[3][3]={{1},{2},{3}};
int a7[3][3]={{[1]=34},{[0]=10},{[2]=29}};
int a8[3][3]={[2][2]=12};

2)先定义后初始化
二维数组
int a10[2][2];
a10[0][0]= 133;
a10[1][0]= 12;

3、数组的访问越界的问题
访问了不能访问的元素
对于二维数组来说:如果二维数组int a[m][n],下标:a[0][0] ~ a[m-1][n-1]
除此之外,访问其他的元素都是越界
特别注意: 数组的越界在我们的C99编译器下,不报错,也能执行。只不过获取的数据不是我们想要的

4、数组的访问
二维数组 数组名[第一维下标][第二维下标]

5、数组的存储细节
在内存中存储都是连续的,逐行存储。

二维数组:
int a[2][2];
数组的首地值 = a = a[0] = &a[0][0]
二维数组的占用的总字节数:sizeof(a) = 16
二维数组行数:sizeof(a)/sizeof(a[0])
二维数组列数:sizeof(a[0])/sizeof(int)

6、数组的遍历
二维数组:
for(int i=0;i<rows;i++){
    for(int j=0;j<cols;j++){
        a[i][j] }
}

1 个回复

倒序浏览
学得不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马