鱼C论坛

 找回密码
 立即注册
查看: 2393|回复: 4

二维数组学着头晕

[复制链接]
发表于 2020-3-6 23:28:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
二维数组的引用格式:数组名  [行下标 ][列下标 ]
二维数组可以看作一个特殊的一维数组,它的每个元素又是一个一维数组
例如:定义二维数组:int a[3][2]; 可以看作:数组a包含a[0]、a[1]、a[2]三个元素的一维数组。
1、请问a[0]、a[1]、a[2]各包含哪些元素?
2、请对数组a全部元素赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-6 23:45:37 | 显示全部楼层
本帖最后由 jackz007 于 2020-3-7 00:51 编辑

         int a[3][2] = {{0 , 1} , {2 , 3} , {4 , 5}} ;
         在计算机内部,不管是几维数组,在内存中都是按照一维的方式线性存储和排列的,多维数组不过是把一维数组按固定长度进行了分组而已,多维数组元素的书写顺序其实就是一维数组元素的先后顺序。对于本例而言,就是把一个 6 个元素的一维数组等分成 3 段,构成了一个二维数组。
         0 , 1 , 2 , 3 , 4 , 5
         【为 a 整体赋值】:
         a[3][2] = {{0 , 1} , {2 , 3} , {4 , 5}} ;
         【为 a[0] 赋值】:
         a[0] = {0 , 1} ;
         【为 a[1] 赋值】:
         a[1] = {2 , 3} ;
         【为 a[2] 赋值】:
         a[2] = {4 , 5} ;
         【逐元素为 a[] 赋值】:
         a[0][0] = 0    ;
         a[0][1] = 1    ;

         a[1][0] = 2    ;
         a[1][1] = 3    ;

         a[2][0] = 4    ;
         a[2][1] = 5    ;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-7 00:14:19 | 显示全部楼层
请问a[0]、a[1]、a[2]各包含哪些元素?
a[0]包含a[0][0] a[0][1],相当于a[0]={1,2}这样子的感觉
其他同理
2、请对数组a全部元素赋值
利用两层循环,
for(int i=0;i<3;i++){
 for(int j=0;j<2j++){
  a[i][j]=xxx;

}

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-7 08:13:28 | 显示全部楼层
本帖最后由 Cool_Breeze 于 2020-3-7 08:14 编辑

这样理解好理解

这个图看看

这个图看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-10 15:49:41 | 显示全部楼层
引用C语言参考手册:
列子
数组int[2][3]的元素是按照下面的方式储存的(按递增的地址)
t[0][0], t[0][1], t[0][2], t[1][0], t[1][1], t[1][2]
表达式t[1][2]展开后的结果是*(*(t+1)+2),它是按照下面的步骤进行求值的:
1.表达式t是个2x3的数组,它被转换为一个指向包含这个数组前3个元素的子数组的指针。
2.然后,表示式t+1是个指向第二个包含3个元素的子数组的指针。
3.表达式*(t+1),第2个包含3个整数元素的子数组被转换为一个指向该子数组第1个元素的指针。
4.表达式*(t+1)+2是指向第2个子数组的第3个整数元素的指针。
5.最后,*(*(t+1)+2)是第2个子数组的第3个整数元素的值。
一般而言,任何“i*j*...*k的T类型的数组”类型的表达式A可以立即转换为“指向i*j*...*k的T类型的数组的指针”。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 19:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表