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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© runsunlife 中级黑马   /  2015-8-16 18:47  /  289 人查看  /  0 人回复  /   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] } 

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马