鱼C论坛

 找回密码
 立即注册
查看: 3269|回复: 5

光盘中C语言视频 二维数组的讲解 前后好像矛盾?求帮助

[复制链接]
发表于 2012-7-22 21:23:45 | 显示全部楼层 |阅读模式
2鱼币
本帖最后由 mfei 于 2012-7-22 21:23 编辑

二维数组讲解前后好像矛盾!求正确答案!

2222.jpg


111.jpg








2222.jpg
111.jpg
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-7-22 21:25:57 | 显示全部楼层
同样类型的二维数组   一组 横向存 ,一组纵向存?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-23 09:56:54 | 显示全部楼层
嗯,那个张王李赵周的成绩单是很别扭,你把它竖过来看就行了,这里我感觉小甲鱼把a[行][列]给弄反了,反正横着是行,竖着是列,二维数组a[i][j]中i是行,j是列,仅仅在这个地方讲的有点反,跳过就行,后面再函数引用和指针引用中还会讲到二维数组的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-23 09:58:57 | 显示全部楼层
这是小甲鱼的前期视频,做的有点瑕疵,后面到三十多集的地方就是新做的,风格好多了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-23 10:15:41 | 显示全部楼层
数组在内存中是线性排列的。。。。什么一维数组,多维数组  都是浮云。LZ不要纠结这个问题了。。。

int a[3][5] ;  跟 int a[3 * 5];  是一样的,在内存中的 的元素分布一模一样,多维数组就可以看成一维数组。

int a[10][10][10];  也就相当于 int a[1000];  在内存中的 排布状况一模一样, 剩下的赋值,就是你计算基于首地址的偏移问题了。。。
举个例子对于数组 int a[10][10];  a[25] = 0xFFFF;  printf("%x",a[4][5]);  会打印出来0xFFFF,不信可以去试一下,a[25]  的地址是 a + 25*sizeof(int );   a[4][5]的地址是   a + 4*5*sizeof(int) + 5 *sizeof(int)  
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-23 11:48:00 | 显示全部楼层
管他几维数组。。其实都是一维数组,之不过里面的一个元素的意义不同而已。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-14 07:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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